-
Global information
- Generated on Mon Dec 16 11:32:37 2024
- Log file: postgresql-13-main.log
- Parsed 344,004 log entries in 1m52s
- Log start from 2024-12-16 00:00:39 to 2024-12-16 11:28:15
-
Overview
Global Stats
- 594 Number of unique normalized queries
- 48,926 Number of queries
- 1d1h2m57s Total query duration
- 2024-12-16 00:00:39 First query
- 2024-12-16 11:28:15 Last query
- 29 queries/s at 2024-12-16 09:57:16 Query peak
- 1d1h2m57s Total query duration
- 11s334ms Prepare/parse total duration
- 11m52s Bind total duration
- 1d50m53s Execute total duration
- 4,236 Number of events
- 18 Number of unique normalized events
- 1,880 Max number of times the same event was reported
- 0 Number of cancellation
- 0 Total number of automatic vacuums
- 0 Total number of automatic analyzes
- 0 Number temporary file
- 0 Max size of temporary file
- 0.00 B Average size of temporary file
- 0 Total number of sessions
- 0 sessions at Session peak
- 0ms Total duration of sessions
- 0ms Average duration of sessions
- 48,926 Average queries per session
- 1d1h2m57s Average queries duration per session
- n/a Average idle time per session
- 0 Total number of connections
- 1 Total number of databases
SQL Traffic
Key values
- 29 queries/s Query Peak
- 2024-12-16 09:57:16 Date
SELECT Traffic
Key values
- 29 queries/s Query Peak
- 2024-12-16 09:57:16 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 2 queries/s Query Peak
- 2024-12-16 01:08:14 Date
Queries duration
Key values
- 1d1h2m57s 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) Dec 16 00 249 500ms 14m48s 13s289ms 2m35s 11m7s 15m16s 01 960 500ms 19m23s 4s338ms 2m25s 8m1s 19m23s 02 661 500ms 2h28m5s 15s13ms 1m22s 2m35s 2h28m8s 03 34 531ms 4s595ms 1s384ms 18s385ms 18s385ms 18s385ms 04 32 505ms 2s604ms 823ms 7s48ms 7s609ms 7s609ms 05 55 504ms 4s727ms 1s57ms 5s945ms 5s957ms 12s266ms 06 155 503ms 3m11s 4s121ms 30s420ms 2m27s 3m11s 07 1,630 0ms 22s562ms 1s467ms 1m31s 2m4s 4m47s 08 11,150 500ms 6m45s 1s487ms 9m39s 14m20s 15m37s 09 12,858 500ms 1m39s 1s565ms 13m21s 17m38s 19m53s 10 15,235 500ms 16m37s 1s535ms 13m37s 17m30s 18m45s 11 5,907 500ms 1m48s 1s486ms 10m19s 11m44s 15m46s Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Dec 16 00 202 0 1s860ms 13s521ms 21s232ms 1m2s 01 882 0 1s9ms 40s710ms 42s814ms 1m11s 02 652 0 844ms 37s850ms 39s902ms 47s218ms 03 34 0 1s384ms 12s14ms 18s385ms 18s385ms 04 32 0 823ms 3s648ms 7s48ms 7s609ms 05 55 0 1s57ms 5s73ms 5s945ms 12s266ms 06 154 0 4s97ms 15s65ms 30s420ms 3m11s 07 1,621 0 1s456ms 1m4s 1m29s 2m11s 08 11,129 0 1s484ms 6m20s 9m39s 14m48s 09 12,821 0 1s542ms 7m51s 13m9s 18m24s 10 15,205 0 1s532ms 9m26s 13m37s 18m11s 11 5,895 0 1s484ms 7m10s 10m19s 15m46s Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Dec 16 00 41 1 1 0 1m7s 0ms 1m1s 11m7s 01 60 14 1 0 43s567ms 4s364ms 40s279ms 16m11s 02 7 0 0 0 21m59s 0ms 0ms 2m35s 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 1 0 0 0 7s710ms 0ms 0ms 0ms 07 6 0 0 2 1s331ms 0ms 0ms 1s540ms 08 11 3 2 0 913ms 0ms 619ms 1s320ms 09 9 10 1 0 1s38ms 0ms 789ms 1s940ms 10 12 2 1 0 1s727ms 0ms 656ms 2s654ms 11 4 4 0 0 949ms 0ms 514ms 1s664ms Day Hour Prepare Bind Bind/Prepare Percentage of prepare Dec 16 00 0 249 249.00 0.00% 01 2 960 480.00 0.21% 02 0 661 661.00 0.00% 03 0 34 34.00 0.00% 04 0 32 32.00 0.00% 05 0 55 55.00 0.00% 06 0 155 155.00 0.00% 07 0 1,627 1,627.00 0.00% 08 1 11,150 11,150.00 0.01% 09 0 12,858 12,858.00 0.00% 10 0 15,230 15,230.00 0.00% 11 0 5,902 5,902.00 0.00% Day Hour Count Average / Second Dec 16 00 0 0.00/s 01 0 0.00/s 02 0 0.00/s 03 0 0.00/s 04 0 0.00/s 05 0 0.00/s 06 0 0.00/s 07 0 0.00/s 08 0 0.00/s 09 0 0.00/s 10 0 0.00/s 11 0 0.00/s Day Hour Count Average Duration Average idle time Dec 16 00 0 0ms 0ms 01 0 0ms 0ms 02 0 0ms 0ms 03 0 0ms 0ms 04 0 0ms 0ms 05 0 0ms 0ms 06 0 0ms 0ms 07 0 0ms 0ms 08 0 0ms 0ms 09 0 0ms 0ms 10 0 0ms 0ms 11 0 0ms 0ms -
Connections
Established Connections
Key values
- 0 connections Connection Peak
- Date
Connections per database
Key values
- unknown Main Database
- 0 connections Total
Connections per user
Key values
- unknown Main User
- 0 connections Total
-
Sessions
Simultaneous sessions
Key values
- 0 sessions Session Peak
- Date
Histogram of session times
Key values
- duration
Sessions per database
Key values
- unknown Main Database
- 0 sessions Total
Sessions per user
Key values
- unknown Main User
- 0 sessions Total
Sessions per host
Key values
- unknown Main Host
- 0 sessions Total
-
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 0 buffers Checkpoint Peak
- Date
- seconds Highest write time
- seconds Sync time
Checkpoint write buffers (5 minutes period)
NO DATASET
Checkpoints Wal files
Key values
- 0 files Wal files usage Peak
- Date
Checkpoint Wal files usage (5 minutes period)
NO DATASET
Checkpoints distance
Key values
- 0 Mo Distance Peak
- Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time Dec 16 00 0 0s 0s 0s 01 0 0s 0s 0s 02 0 0s 0s 0s 03 0 0s 0s 0s 04 0 0s 0s 0s 05 0 0s 0s 0s 06 0 0s 0s 0s 07 0 0s 0s 0s 08 0 0s 0s 0s 09 0 0s 0s 0s 10 0 0s 0s 0s 11 0 0s 0s 0s Day Hour Added Removed Recycled Synced files Longest sync Average sync Dec 16 00 0 0 0 0 0s 0s 01 0 0 0 0 0s 0s 02 0 0 0 0 0s 0s 03 0 0 0 0 0s 0s 04 0 0 0 0 0s 0s 05 0 0 0 0 0s 0s 06 0 0 0 0 0s 0s 07 0 0 0 0 0s 0s 08 0 0 0 0 0s 0s 09 0 0 0 0 0s 0s 10 0 0 0 0 0s 0s 11 0 0 0 0 0s 0s Day Hour Count Avg time (sec) Dec 16 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 Day Hour Mean distance Mean estimate Dec 16 00 0.00 kB 0.00 kB 01 0.00 kB 0.00 kB 02 0.00 kB 0.00 kB 03 0.00 kB 0.00 kB 04 0.00 kB 0.00 kB 05 0.00 kB 0.00 kB 06 0.00 kB 0.00 kB 07 0.00 kB 0.00 kB 08 0.00 kB 0.00 kB 09 0.00 kB 0.00 kB 10 0.00 kB 0.00 kB 11 0.00 kB 0.00 kB -
Temporary Files
Size of temporary files
Key values
- 0 Temp Files size Peak
- Date
Size of temporary files (5 minutes period)
NO DATASET
Number of temporary files
Key values
- 0 per second Temp Files Peak
- Date
Number of temporary files (5 minutes period)
NO DATASET
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size Dec 16 00 0 0 0 01 0 0 0 02 0 0 0 03 0 0 0 04 0 0 0 05 0 0 0 06 0 0 0 07 0 0 0 08 0 0 0 09 0 0 0 10 0 0 0 11 0 0 0 -
Vacuums
Vacuums / Analyzes Distribution
Key values
- 0 sec Highest CPU-cost vacuum
Table
Database - Date
- 0 sec Highest CPU-cost analyze
Table
Database - Date
Autovacuum actions (5 minutes period)
NO DATASET
Analyzes per table
Key values
- unknown (0) Main table analyzed (database )
- 0 analyzes Total
Vacuums per table
Key values
- unknown (0) Main table vacuumed on database
- 0 vacuums Total
Tuples removed per table
Key values
- unknown (0) Main table with removed tuples on database
- 0 tuples Total removed
Pages removed per table
Key values
- unknown (0) Main table with removed pages on database unknown
- 0 pages Total removed
Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs Dec 16 00 0 0 01 0 0 02 0 0 03 0 0 04 0 0 05 0 0 06 0 0 07 0 0 08 0 0 09 0 0 10 0 0 11 0 0 - 0 sec Highest CPU-cost vacuum
-
Locks
Locks by types
Key values
- unknown Main Lock Type
- 0 locks Total
Most frequent waiting queries (N)
Rank Count Total time Min time Max time Avg duration Query NO DATASET
Queries that waited the most
Rank Wait time Query NO DATASET
-
Queries
Queries by type
Key values
- 48,682 Total read queries
- 244 Total write queries
Queries by database
Key values
- unknown Main database
- 48,926 Requests
- 1d50m53s (unknown)
- Main time consuming database
Queries by user
Key values
- unknown Main user
- 48,926 Requests
User Request type Count Duration unknown Total 48,926 1d50m53s copy from 2 1s121ms cte 50 9m46s ddl 1 1m17s delete 6 16s147ms insert 151 4h15m15s select 48,682 20h21m29s update 34 2m47s Duration by user
Key values
- 1d50m53s (unknown) Main time consuming user
User Request type Count Duration unknown Total 48,926 1d50m53s copy from 2 1s121ms cte 50 9m46s ddl 1 1m17s delete 6 16s147ms insert 151 4h15m15s select 48,682 20h21m29s update 34 2m47s Queries by host
Key values
- unknown Main host
- 48,926 Requests
- 1d50m53s (unknown)
- Main time consuming host
Queries by application
Key values
- unknown Main application
- 48,926 Requests
- 1d50m53s (unknown)
- Main time consuming application
Number of cancelled queries
Key values
- 2 per second Cancelled query Peak
- 2024-12-16 10:38:04 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 29,465 500-1000ms duration
Slowest individual queries
Rank Duration Query 1 2h28m5s 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 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 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 (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102) 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 am.flg_matricula_atual 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: 2024-12-16 02:39:52 - Bind query: yes ]
2 19m23s 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: 2024-12-16 01:28:01 - Bind query: yes ]
3 16m37s 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 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 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 ('98', 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 = '98' and ano_semestre.ano = '2024' and uf.id_municipio = '330350' and uf.id_unidade_funcional in ( select '607078' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607078' and id_assunto_hierarquia_unidade = '81') and am.id_aluno_matr_status in (1, 2, 7) and serie_turma.id_forma_avaliacao in (1, 2) order by uf.nome, curso_turma.sigla, serie_matricula.sigla, t.codigo, amt.chamada, d.descricao, turma_periodo.id_nota_periodo_aluno;[ Date: 2024-12-16 10:29:57 - Bind query: yes ]
4 16m1s 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: 2024-12-16 01:01:12 - Bind query: yes ]
5 14m48s 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 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: 2024-12-16 00:31:06 - Bind query: yes ]
6 11m7s insert into consulta.conteudo_curric_ministrado_detalhe (id_turma, id_serie, id_componente_curricular, id_nota_periodo_aluno, rf_professor, nome_professor, id_periodo_planejamento, id_conteudo_campo_eixo, id_conteudo_curricular, id_conteudo_analise_ling, data_realizacao) select turma.id_turma, ts.id_serie, cc.id_componente_curricular, calendario_periodo.ordem as id_nota_periodo_aluno, servidor.registro_funcional, cidadao.nome as nome_professor, ccp.id_nota_periodo_aluno as id_periodo_planejamento, campo_eixo.id_conteudo_curricular as id_conteudo_campo_eixo, ccp.id_conteudo_curricular, ccpa.id_conteudo_curricular as id_conteudo_analise_ling, conteudo.data_realizacao 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 inner join lateral ( select id_turma, id_serie, id_componente_curricular, id_conteudo_curricular_componente, id_conteudo_analise_linguistica, min(data_realizacao) as data_realizacao from ( select sda.id_turma, sda.id_serie, sda.id_componente_curricular, cca.id_conteudo_curricular_componente, cast(null as integer) as id_conteudo_analise_linguistica, sda.data_atualizacao as data_realizacao from conteudo_curricular_aula cca inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = cca.id_situacao_didatica_aula where sda.id_turma = turma.id_turma and sda.id_serie = ts.id_serie and sda.id_componente_curricular = cc.id_componente_curricular and sda.data between calendario_periodo.data_inicio and calendario_periodo.data_final union all select sda.id_turma, sda.id_serie, sda.id_componente_curricular, cca.id_conteudo_curricular_componente, cca.id_conteudo_analise_linguistica, sda.data_atualizacao as data_realizacao from conteudo_curricular_aula cca inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = cca.id_situacao_didatica_aula where sda.id_turma = turma.id_turma and sda.id_serie = ts.id_serie and sda.id_componente_curricular = cc.id_componente_curricular and cca.id_conteudo_analise_linguistica is not null and sda.data between calendario_periodo.data_inicio and calendario_periodo.data_final union all select id_turma, id_serie, id_componente_curricular, id_conteudo_curricular_componente, cast(null as integer) as id_conteudo_analise_linguistica, data_realizacao from conteudo_curricular_periodo ccp where ccp.id_turma = turma.id_turma and ccp.id_serie = ts.id_serie and ccp.id_componente_curricular = cc.id_componente_curricular and ccp.id_nota_periodo_aluno = calendario_periodo.ordem union all select id_turma, id_serie, id_componente_curricular, id_conteudo_curricular_componente, id_conteudo_analise_linguistica, data_realizacao from conteudo_curricular_periodo ccp where ccp.id_turma = turma.id_turma and ccp.id_serie = ts.id_serie and ccp.id_componente_curricular = cc.id_componente_curricular and ccp.id_nota_periodo_aluno = calendario_periodo.ordem and ccp.id_conteudo_analise_linguistica is not null) as apontamentos group by id_turma, id_serie, id_componente_curricular, id_conteudo_curricular_componente, id_conteudo_analise_linguistica) conteudo on conteudo.id_turma = turma.id_turma and conteudo.id_serie = ts.id_serie and conteudo.id_componente_curricular = cc.id_componente_curricular inner join conteudo_curricular_componente ccp on ccp.id_conteudo_curricular_componente = conteudo.id_conteudo_curricular_componente left join conteudo_curricular_componente campo_eixo on campo_eixo.id_conteudo_curricular_componente = ccp.id_conteudo_curricular_componente_pai left join conteudo_curricular_componente ccpa on ccpa.id_conteudo_curricular_componente = conteudo.id_conteudo_analise_linguistica 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 and id_nota_periodo_aluno = calendario_periodo.ordem);[ Date: 2024-12-16 00:44:06 - Bind query: yes ]
7 10m44s 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 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 (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102) 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 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: 2024-12-16 00:11:46 - Bind query: yes ]
8 7m37s 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: 2024-12-16 01:41:08 - Bind query: yes ]
9 6m45s 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 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 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 ('98', 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 = '98' and ano_semestre.ano = '2024' and curso_turma.id_curso = '1041' and uf.id_municipio = '330350' and uf.id_unidade_funcional in ( select '607094' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607094' and id_assunto_hierarquia_unidade = '81') and am.id_aluno_matr_status in (1, 2, 7) and serie_turma.id_forma_avaliacao in (1, 2) order by uf.nome, curso_turma.sigla, serie_matricula.sigla, t.codigo, amt.chamada, d.descricao, turma_periodo.id_nota_periodo_aluno;[ Date: 2024-12-16 08:03:24 - Bind query: yes ]
10 4m57s select turma.id_turma, serie.id_serie, cc.id_disciplina, case when ano.semestre is null or ano.semestre = 1 then nota_periodo_aluno.id_nota_periodo_aluno when ano.semestre = 2 then nota_periodo_aluno.id_nota_periodo_aluno + 2 end as bimestre, uf.codigo as codigo_escola, ( select opcao_atributo.nome from mec_escola_dados_opcao_atributo dados_opcao_atributo inner join mec_escola_opcao_atributo opcao_atributo on opcao_atributo.id_mec_escola_opcao_atributo = dados_opcao_atributo.id_mec_escola_opcao_atributo where opcao_atributo.id_mec_escola_atributo = 2 and dados_opcao_atributo.id_unidade_funcional = uf.id_unidade_funcional) as zona_escola, uf.nome as nome_escola, curso.sigla as curso, turma.codigo as turma, serie.sigla as serie, ts.num_vagas_oferecidas - ts.num_vagas_remanescentes as enturmados, media_disciplina.alunos as alunos_media_disciplina, media_disciplina.media as media_disciplina, media_geral.alunos as alunos_media_geral, media_geral.media as media_geral from turma inner join unidade_funcional uf on turma.id_unidade_funcional = uf.id_unidade_funcional inner join ano_semestre ano on ano.id_ano_semestre = turma.id_ano_semestre inner join turma_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 = turma.id_curso cross join nota_periodo_aluno inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular and cc.flg_aponta_notas is true left join lateral ( select count(nota.id_aluno_matricula)::int as alunos, avg(nota.nota) as media from nota_aluno nota inner join aluno_matr_turma amt on amt.id_turma = nota.id_turma and amt.id_aluno_matricula = nota.id_aluno_matricula inner join aluno_matricula am on am.id_aluno_matricula = nota.id_aluno_matricula inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where nota.id_turma = turma.id_turma and nota.id_disciplina = cc.id_disciplina and nota.id_nota_periodo_aluno = nota_periodo_aluno.id_nota_periodo_aluno and amt.id_serie_enturmacao = serie.id_serie and ams.flg_status_ativo is true and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = nota.id_aluno_matricula and dispensa.id_turma = nota.id_turma and dispensa.id_disciplina = nota.id_disciplina) 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 = nota.id_aluno_matricula and (mdp.periodos @> ARRAY[nota_periodo_aluno.id_nota_periodo_aluno]) is true)) media_disciplina on true left join lateral ( select count(distinct nota.id_aluno_matricula)::int as alunos, avg(nota.nota) as media from nota_aluno nota inner join aluno_matr_turma amt on amt.id_turma = nota.id_turma and amt.id_aluno_matricula = nota.id_aluno_matricula inner join aluno_matricula am on am.id_aluno_matricula = nota.id_aluno_matricula inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where nota.id_turma = turma.id_turma and nota.id_nota_periodo_aluno = nota_periodo_aluno.id_nota_periodo_aluno and amt.id_serie_enturmacao = serie.id_serie and ams.flg_status_ativo is true and not exists ( select null from aluno_matr_dispensa_disciplina dispensa where dispensa.id_aluno_matricula = nota.id_aluno_matricula and dispensa.id_turma = nota.id_turma and dispensa.id_disciplina = nota.id_disciplina) 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 = nota.id_aluno_matricula and (mdp.periodos @> ARRAY[nota_periodo_aluno.id_nota_periodo_aluno]) is true)) media_geral on true where uf.id_instituicao = '82' and turma.id_turma_status in ('1', '2') and ano.ano = '2024' and ((ano.semestre is null and nota_periodo_aluno.id_nota_periodo_aluno <= 4) or (ano.semestre is not null and nota_periodo_aluno.id_nota_periodo_aluno <= 2)) and (turma.id_unidade_funcional = '39' or turma.id_unidade_funcional in ( select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '39' and id_assunto_hierarquia_unidade = '10')) order by nome_escola, curso, turma, turma.id_turma, serie, serie.id_serie;[ Date: 2024-12-16 10:14:58 - Bind query: yes ]
11 3m11s 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 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 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 ('98', 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 = '98' and ano_semestre.ano = '2024' and curso_turma.id_curso = '1041' and uf.id_municipio = '330350' and uf.id_unidade_funcional in ( select '607147' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607147' and id_assunto_hierarquia_unidade = '81') and am.id_aluno_matr_status in (1, 2, 7) and serie_turma.id_forma_avaliacao in (1, 2) order by uf.nome, curso_turma.sigla, serie_matricula.sigla, t.codigo, amt.chamada, d.descricao, turma_periodo.id_nota_periodo_aluno;[ Date: 2024-12-16 06:43:46 - Bind query: yes ]
12 3m1s 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 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: 2024-12-16 00:04:28 - Bind query: yes ]
13 2m35s 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: 2024-12-16 02:44:46 - Bind query: yes ]
14 2m26s 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: 2024-12-16 00:08:25 - Bind query: yes ]
15 2m25s 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 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 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 ('98', 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 = '98' and ano_semestre.ano = '2024' and curso_turma.id_curso = '1042' and uf.id_municipio = '330350' and uf.id_unidade_funcional in ( select '607147' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607147' and id_assunto_hierarquia_unidade = '81') and am.id_aluno_matr_status in (1, 2, 7) and serie_turma.id_forma_avaliacao in (1, 2) order by uf.nome, curso_turma.sigla, serie_matricula.sigla, t.codigo, amt.chamada, d.descricao, turma_periodo.id_nota_periodo_aluno;[ Date: 2024-12-16 06:33:28 - Bind query: yes ]
16 2m9s insert into consulta.usuarios_movel (id_unidade_funcional, total, movel, android, ios, browser) select uf.id_unidade_funcional, ( select count(distinct pe.id_usuario) as total_usuarios from perfil_extendido pe inner join assunto_hierarquia_unidade ahu on pe.id_assunto_hierarquia_unidade = ahu.id_assunto_hierarquia_unidade and ahu.flg_oficial inner join permissao_acesso pa on pe.id_grupo_usuario = pa.id_grupo_usuario inner join cidadao_usuario cu on cu.id_usuario = pe.id_usuario inner join cidadao c on cu.id_cidadao = c.id_cidadao inner join servidor s on cu.id_cidadao = s.id_cidadao where pa.id_recurso = 3898 and pe.id_unidade_funcional in ( select uf.id_unidade_funcional union all select id_unidade_funcional_filha from hierarquia_unidade_extendida hue inner join assunto_hierarquia_unidade ahu on hue.id_assunto_hierarquia_unidade = ahu.id_assunto_hierarquia_unidade and ahu.flg_oficial inner join unidade_funcional uf2 on uf2.id_unidade_funcional = id_unidade_funcional_filha where id_unidade_funcional_mae = uf.id_unidade_funcional and uf2.id_nivel_unidade_funcional = 3)) as total, ( select count(distinct pe.id_usuario) as total_usuarios from perfil_extendido pe inner join assunto_hierarquia_unidade ahu on pe.id_assunto_hierarquia_unidade = ahu.id_assunto_hierarquia_unidade and ahu.flg_oficial inner join permissao_acesso pa on pe.id_grupo_usuario = pa.id_grupo_usuario inner join cidadao_usuario cu on cu.id_usuario = pe.id_usuario inner join cidadao c on cu.id_cidadao = c.id_cidadao inner join servidor s on cu.id_cidadao = s.id_cidadao where pa.id_recurso = 3898 and pe.id_unidade_funcional in ( select uf.id_unidade_funcional union all select id_unidade_funcional_filha from hierarquia_unidade_extendida hue inner join assunto_hierarquia_unidade ahu on hue.id_assunto_hierarquia_unidade = ahu.id_assunto_hierarquia_unidade and ahu.flg_oficial where id_unidade_funcional_mae = uf.id_unidade_funcional) and exists ( select null from usuario_dispositivo where id_usuario = pe.id_usuario)) as movel, ( select count(distinct pe.id_usuario) as total_usuarios from perfil_extendido pe inner join assunto_hierarquia_unidade ahu on pe.id_assunto_hierarquia_unidade = ahu.id_assunto_hierarquia_unidade and ahu.flg_oficial inner join permissao_acesso pa on pe.id_grupo_usuario = pa.id_grupo_usuario inner join cidadao_usuario cu on cu.id_usuario = pe.id_usuario inner join cidadao c on cu.id_cidadao = c.id_cidadao inner join servidor s on cu.id_cidadao = s.id_cidadao where pa.id_recurso = 3898 and pe.id_unidade_funcional in ( select uf.id_unidade_funcional union all select id_unidade_funcional_filha from hierarquia_unidade_extendida hue inner join assunto_hierarquia_unidade ahu on hue.id_assunto_hierarquia_unidade = ahu.id_assunto_hierarquia_unidade and ahu.flg_oficial where id_unidade_funcional_mae = uf.id_unidade_funcional) and exists ( select null from usuario_dispositivo where id_usuario = pe.id_usuario and plataforma_dispositivo = 'Android')) as android, ( select count(distinct pe.id_usuario) as total_usuarios from perfil_extendido pe inner join assunto_hierarquia_unidade ahu on pe.id_assunto_hierarquia_unidade = ahu.id_assunto_hierarquia_unidade and ahu.flg_oficial inner join permissao_acesso pa on pe.id_grupo_usuario = pa.id_grupo_usuario inner join cidadao_usuario cu on cu.id_usuario = pe.id_usuario inner join cidadao c on cu.id_cidadao = c.id_cidadao inner join servidor s on cu.id_cidadao = s.id_cidadao where pa.id_recurso = 3898 and pe.id_unidade_funcional in ( select uf.id_unidade_funcional union all select id_unidade_funcional_filha from hierarquia_unidade_extendida hue inner join assunto_hierarquia_unidade ahu on hue.id_assunto_hierarquia_unidade = ahu.id_assunto_hierarquia_unidade and ahu.flg_oficial where id_unidade_funcional_mae = uf.id_unidade_funcional) and exists ( select null from usuario_dispositivo where id_usuario = pe.id_usuario and plataforma_dispositivo = 'iOS')) as ios, ( select count(distinct pe.id_usuario) as total_usuarios from perfil_extendido pe inner join assunto_hierarquia_unidade ahu on pe.id_assunto_hierarquia_unidade = ahu.id_assunto_hierarquia_unidade and ahu.flg_oficial inner join permissao_acesso pa on pe.id_grupo_usuario = pa.id_grupo_usuario inner join cidadao_usuario cu on cu.id_usuario = pe.id_usuario inner join cidadao c on cu.id_cidadao = c.id_cidadao inner join servidor s on cu.id_cidadao = s.id_cidadao where pa.id_recurso = 3898 and pe.id_unidade_funcional in ( select uf.id_unidade_funcional union all select id_unidade_funcional_filha from hierarquia_unidade_extendida hue inner join assunto_hierarquia_unidade ahu on hue.id_assunto_hierarquia_unidade = ahu.id_assunto_hierarquia_unidade and ahu.flg_oficial where id_unidade_funcional_mae = uf.id_unidade_funcional) and exists ( select null from usuario_dispositivo where id_usuario = pe.id_usuario and plataforma_dispositivo = 'Desktop')) as browser from unidade_funcional uf where uf.flg_ativa;[ Date: 2024-12-16 01:32:41 - Bind query: yes ]
17 1m48s 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 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 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 ('98', 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 = '98' and ano_semestre.ano = '2024' and curso_turma.id_curso = '1041' and serie_turma.id_serie = '2204' and uf.id_municipio = '330350' and uf.id_unidade_funcional in ( select '607097' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607097' and id_assunto_hierarquia_unidade = '81') and am.id_aluno_matr_status in (1, 2, 7) and serie_turma.id_forma_avaliacao in (1, 2) order by uf.nome, curso_turma.sigla, serie_matricula.sigla, t.codigo, amt.chamada, d.descricao, turma_periodo.id_nota_periodo_aluno;[ Date: 2024-12-16 11:10:18 - Bind query: yes ]
18 1m48s 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 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 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 ('98', 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 = '98' and ano_semestre.ano = '2024' and curso_turma.id_curso = '1041' and serie_turma.id_serie = '2204' and uf.id_municipio = '330350' and uf.id_unidade_funcional in ( select '607175' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607175' and id_assunto_hierarquia_unidade = '81') and am.id_aluno_matr_status in (1, 2, 7) and serie_turma.id_forma_avaliacao in (1, 2) order by uf.nome, curso_turma.sigla, serie_matricula.sigla, t.codigo, amt.chamada, d.descricao, turma_periodo.id_nota_periodo_aluno;[ Date: 2024-12-16 08:50:31 - Bind query: yes ]
19 1m45s 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 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 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 ('98', 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 = '98' and ano_semestre.ano = '2024' and curso_turma.id_curso = '1041' and serie_turma.id_serie = '2203' and uf.id_municipio = '330350' and uf.id_unidade_funcional in ( select '607094' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607094' and id_assunto_hierarquia_unidade = '81') and am.id_aluno_matr_status in (1, 2, 7) and serie_turma.id_forma_avaliacao in (1, 2) order by uf.nome, curso_turma.sigla, serie_matricula.sigla, t.codigo, amt.chamada, d.descricao, turma_periodo.id_nota_periodo_aluno;[ Date: 2024-12-16 08:26:33 - Bind query: yes ]
20 1m45s 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 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 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 cne where cne.id_cidadao = am.id_cidadao and cne.id_necessidade_especial in ( select unnest(a.necessidade_especial)))) 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 ('240004608', '240004612', '240004604', '240004621', '240004602', '240004626', '240004613', '240004616', '240004609', '240004611', '240004615', '240004607', '240004614', '240004605', '240004606') 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) 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: 2024-12-16 08:33:33 - Bind query: yes ]
Time consuming queries (N)
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 3h52m40s 15,404 500ms 6s11ms 906ms select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = ? left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = ? left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = ? where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = ? and ts.id_serie = ? and cc.id_disciplina = ? order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Dec 16 00 27 26s263ms 972ms 01 5 6s435ms 1s287ms 02 7 5s609ms 801ms 07 212 3m 852ms 08 3,669 52m50s 864ms 09 4,428 1h8m24s 926ms 10 5,144 1h17m58s 909ms 11 1,912 29m48s 935ms -
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = '0' left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '2420274' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240003128' and ts.id_serie = '101' and cc.id_disciplina = '1' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 09:22:21 Duration: 6s11ms Bind query: yes
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = '0' left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '2420270' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240000102' and ts.id_serie = '106' and cc.id_disciplina = '4' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 09:22:21 Duration: 5s873ms Bind query: yes
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = '0' left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '17369766' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240002199' and ts.id_serie = '2011' and cc.id_disciplina = '1903' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 09:22:19 Duration: 5s561ms Bind query: yes
2 3h27m30s 7,643 500ms 9s449ms 1s628ms select distinct 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;Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Dec 16 00 6 3s950ms 658ms 01 4 2s603ms 650ms 02 2 1s307ms 653ms 05 2 1s255ms 627ms 06 4 2s622ms 655ms 07 93 1m18s 848ms 08 1,805 42m23s 1s409ms 09 2,398 1h10m15s 1s758ms 10 2,206 1h2m2s 1s687ms 11 1,123 31m17s 1s672ms -
select distinct 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 = 2947233) AND (amt.id_turma = 240003235) order by d.ordem, d.descricao;
Date: 2024-12-16 09:46:04 Duration: 9s449ms Bind query: yes
-
select distinct 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 = 2922144) AND (amt.id_turma = 240000900) order by d.ordem, d.descricao;
Date: 2024-12-16 10:39:10 Duration: 9s427ms Bind query: yes
-
select distinct 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 = 2987111) AND (amt.id_turma = 240006451) order by d.ordem, d.descricao;
Date: 2024-12-16 08:44:38 Duration: 9s393ms Bind query: yes
3 2h50m41s 4,618 500ms 1m7s 2s217ms select id_turma, id_serie, id_disciplina, id_componente_curricular, 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, 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 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) x;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Dec 16 00 76 2m36s 2s64ms 01 825 11m47s 857ms 02 625 8m28s 813ms 03 12 22s139ms 1s844ms 04 6 6s503ms 1s83ms 05 32 41s89ms 1s284ms 06 77 1m33s 1s217ms 07 503 13m19s 1s589ms 08 821 41m59s 3s69ms 09 643 33m46s 3s151ms 10 722 41m39s 3s461ms 11 276 14m19s 3s114ms -
select id_turma, id_serie, id_disciplina, id_componente_curricular, 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, 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 where t.id_turma in ('240005067', '240005068', '240005069', '240005070', '240005071', '240005073', '240005074', '240005076', '240005078', '240005080', '240005081', '240005082', '240005083', '240005084', '240005085', '240005086', '240005087', '240005088', '240005089', '240005091', '240005092', '240019170') 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) x;
Date: 2024-12-16 10:46:36 Duration: 1m7s Bind query: yes
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, 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, case when oc.flg_conteudo_por_periodo or oc.flg_conteudo_somente_planejados then '' else '*' end as asterisco, case when oc.flg_conteudo_somente_planejados then p.id_planejamento_bimestral_organizado isnull else false end as pendencia_planejamento, -- total, count( case when oc.flg_conteudo_somente_planejados then poc.id_planejamento_bimestral_organizado else ct.id_conteudo_curricular end) as total, -- ministrados count( case when exists ( select null from conteudo_organizado_aula_conteudo coac inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coac.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and case when oc.flg_conteudo_somente_planejados then coac.id_conteudo_matriz_conteudo = poc.id_conteudo_matriz_conteudo else coac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo end) then 1 else null end) as ministrados from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on cc.id_disciplina = d.id_disciplina inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = gc.id_grade_curricular and a.id_ano_semestre between ogc.id_ano_semestre_inicio and coalesce(ogc.id_ano_semestre_termino, a.id_ano_semestre) and (ogc.id_componente_curricular = cc.id_componente_curricular or ogc.id_componente_curricular is null) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular inner join matriz_conteudo_curricular mcc on mcc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mcc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mcc.id_matriz_conteudo_curricular inner join conteudo_curricular ct on ct.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = ct.id_tipo_conteudo_curricular and ec.id_organizador_curricular = oc.id_organizador_curricular and ec.flg_apontamento left join planejamento_bimestral_organizado p on p.id_turma = t.id_turma and p.id_serie = ts.id_serie and coalesce(p.id_disciplina, d.id_disciplina) = cc.id_disciplina and p.id_nota_periodo_aluno = bimestre_para_periodo ('4', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) and oc.flg_conteudo_somente_planejados left join planejamento_organizado_conteudo poc on poc.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado and poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo where t.id_turma in ('240005385', '240005387', '240005388', '240005389', '240005391', '240005393', '240005415', '240005419', '240005421', '240005422', '240005423', '240005426', '240005429', '240005431', '240005432') and (cc.flg_aponta_conteudo_curricular or not oc.flg_componente_curricular) and (cmc.id_nota_periodo_aluno = bimestre_para_periodo ('4', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) or not oc.flg_conteudo_por_periodo) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, oc.id_organizador_curricular, p.id_planejamento_bimestral_organizado) x;
Date: 2024-12-16 09:33:59 Duration: 46s56ms Bind query: yes
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, 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, 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 where t.id_turma in ('240005067', '240005068', '240005069', '240005070', '240005071', '240005073', '240005074', '240005076', '240005078', '240005080', '240005081', '240005082', '240005083', '240005084', '240005085', '240005086', '240005087', '240005088', '240005089', '240005091', '240005092', '240019170') 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) x;
Date: 2024-12-16 10:48:13 Duration: 44s984ms Bind query: yes
4 2h28m6s 2 955ms 2h28m5s 1h14m3s 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 = ? left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = ? 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 in (...) and (am.id_aluno_matr_status = ? or calendario_periodo_data.data < abandono.data_ocorrencia::date) and am.flg_matricula_atual 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 #4
Day Hour Count Duration Avg duration Dec 16 00 1 955ms 955ms 02 1 2h28m5s 2h28m5s -
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 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 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 (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102) 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 am.flg_matricula_atual 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: 2024-12-16 02:39:52 Duration: 2h28m5s 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 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 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 (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 am.flg_matricula_atual 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: 2024-12-16 00:01:05 Duration: 955ms Bind query: yes
5 1h19m6s 632 2s668ms 50s562ms 7s510ms 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 #5
Day Hour Count Duration Avg duration Dec 16 06 11 30s556ms 2s777ms 07 100 7m 4s203ms 08 162 19m19s 7s158ms 09 126 16m9s 7s693ms 10 149 24m 9s669ms 11 84 12m5s 8s642ms -
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 = '240001204' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '1306' 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: 2024-12-16 10:51:48 Duration: 50s562ms 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 = '240003608' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '21886' 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: 2024-12-16 11:03:28 Duration: 33s614ms 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 = '240001165' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '1227' 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: 2024-12-16 11:03:28 Duration: 32s35ms Bind query: yes
6 34m7s 436 504ms 1m9s 4s695ms select f.id_aluno_matricula, f.id_disciplina, f.data, to_char(f.data, ?) as data_formatada, f.id_horario_turma, f.flg_justificada, upper(m.sigla) as motivo from falta_aluno_disciplina_diario f inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = f.id_aluno_matricula left join motivo_falta_justificada m on m.id_motivo_falta_justificada = f.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.data <= coalesce(a.data_primeira_saida, f.data) and rfdd.flg_concluido is true union select fh.id_aluno_matricula, fh.id_disciplina, fh.data, to_char(fh.data, ?) as data_formatada, fh.id_horario_turma, fh.flg_justificada, coalesce(fh.descricao_motivo_falta_justificada, upper(mh.sigla)) as motivo from aluno_lancamento.falta_aluno_disciplina_diario_hist fh inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = fh.id_aluno_matricula left join motivo_falta_justificada mh on mh.id_motivo_falta_justificada = fh.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = fh.id_turma and rfdd.id_disciplina = fh.id_disciplina and rfdd.data_referencia = fh.data where fh.data <= coalesce(a.data_primeira_saida, fh.data) and rfdd.flg_concluido is true order by id_aluno_matricula, id_disciplina, data;Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Dec 16 06 1 1s939ms 1s939ms 07 43 1m11s 1s661ms 08 104 8m22s 4s833ms 09 164 15m40s 5s732ms 10 66 4m48s 4s372ms 11 58 4m2s 4s182ms -
select f.id_aluno_matricula, f.id_disciplina, f.data, to_char(f.data, 'DD/MM/YYYY') as data_formatada, f.id_horario_turma, f.flg_justificada, upper(m.sigla) as motivo from falta_aluno_disciplina_diario f inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = f.id_aluno_matricula left join motivo_falta_justificada m on m.id_motivo_falta_justificada = f.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.data <= coalesce(a.data_primeira_saida, f.data) and rfdd.flg_concluido is true union select fh.id_aluno_matricula, fh.id_disciplina, fh.data, to_char(fh.data, 'DD/MM/YYYY') as data_formatada, fh.id_horario_turma, fh.flg_justificada, coalesce(fh.descricao_motivo_falta_justificada, upper(mh.sigla)) as motivo from aluno_lancamento.falta_aluno_disciplina_diario_hist fh inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = fh.id_aluno_matricula left join motivo_falta_justificada mh on mh.id_motivo_falta_justificada = fh.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = fh.id_turma and rfdd.id_disciplina = fh.id_disciplina and rfdd.data_referencia = fh.data where fh.data <= coalesce(a.data_primeira_saida, fh.data) and rfdd.flg_concluido is true order by id_aluno_matricula, id_disciplina, data;
Date: 2024-12-16 08:45:44 Duration: 1m9s Bind query: yes
-
select f.id_aluno_matricula, f.id_disciplina, f.data, to_char(f.data, 'DD/MM/YYYY') as data_formatada, f.id_horario_turma, f.flg_justificada, upper(m.sigla) as motivo from falta_aluno_disciplina_diario f inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = f.id_aluno_matricula left join motivo_falta_justificada m on m.id_motivo_falta_justificada = f.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.data <= coalesce(a.data_primeira_saida, f.data) and rfdd.flg_concluido is true union select fh.id_aluno_matricula, fh.id_disciplina, fh.data, to_char(fh.data, 'DD/MM/YYYY') as data_formatada, fh.id_horario_turma, fh.flg_justificada, coalesce(fh.descricao_motivo_falta_justificada, upper(mh.sigla)) as motivo from aluno_lancamento.falta_aluno_disciplina_diario_hist fh inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = fh.id_aluno_matricula left join motivo_falta_justificada mh on mh.id_motivo_falta_justificada = fh.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = fh.id_turma and rfdd.id_disciplina = fh.id_disciplina and rfdd.data_referencia = fh.data where fh.data <= coalesce(a.data_primeira_saida, fh.data) and rfdd.flg_concluido is true order by id_aluno_matricula, id_disciplina, data;
Date: 2024-12-16 08:58:56 Duration: 50s192ms Bind query: yes
-
select f.id_aluno_matricula, f.id_disciplina, f.data, to_char(f.data, 'DD/MM/YYYY') as data_formatada, f.id_horario_turma, f.flg_justificada, upper(m.sigla) as motivo from falta_aluno_disciplina_diario f inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = f.id_aluno_matricula left join motivo_falta_justificada m on m.id_motivo_falta_justificada = f.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.data <= coalesce(a.data_primeira_saida, f.data) and rfdd.flg_concluido is true union select fh.id_aluno_matricula, fh.id_disciplina, fh.data, to_char(fh.data, 'DD/MM/YYYY') as data_formatada, fh.id_horario_turma, fh.flg_justificada, coalesce(fh.descricao_motivo_falta_justificada, upper(mh.sigla)) as motivo from aluno_lancamento.falta_aluno_disciplina_diario_hist fh inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = fh.id_aluno_matricula left join motivo_falta_justificada mh on mh.id_motivo_falta_justificada = fh.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = fh.id_turma and rfdd.id_disciplina = fh.id_disciplina and rfdd.data_referencia = fh.data where fh.data <= coalesce(a.data_primeira_saida, fh.data) and rfdd.flg_concluido is true order by id_aluno_matricula, id_disciplina, data;
Date: 2024-12-16 09:34:45 Duration: 38s608ms Bind query: yes
7 29m53s 369 1s450ms 9s943ms 4s861ms select coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina) as id_disciplina, falta.id_nota_periodo_aluno, sum(falta.qtd_faltas)::int as falta from falta_aluno_disciplina falta inner join turma_disciplina td on td.id_disciplina = falta.id_disciplina inner join componente_curricular cc on cc.id_grade_curricular = td.id_grade_curricular and cc.id_disciplina = falta.id_disciplina where falta.id_aluno_matricula = ? and td.id_turma = ? and td.id_grade_curricular = ? 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 = falta.id_aluno_matricula and mdp.periodos @> array[falta.id_nota_periodo_aluno]) and not exists ( select * from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = falta.id_aluno_matricula and amdd.id_disciplina = falta.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[falta.id_nota_periodo_aluno])) group by coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina), falta.id_nota_periodo_aluno;Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Dec 16 00 1 2s631ms 2s631ms 02 2 3s852ms 1s926ms 05 1 2s939ms 2s939ms 08 7 41s405ms 5s915ms 09 111 7m54s 4s276ms 10 243 20m39s 5s100ms 11 4 28s937ms 7s234ms -
select coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina) as id_disciplina, falta.id_nota_periodo_aluno, sum(falta.qtd_faltas)::int as falta from falta_aluno_disciplina falta inner join turma_disciplina td on td.id_disciplina = falta.id_disciplina inner join componente_curricular cc on cc.id_grade_curricular = td.id_grade_curricular and cc.id_disciplina = falta.id_disciplina where falta.id_aluno_matricula = '3401801' and td.id_turma = '240018969' and td.id_grade_curricular = '5291' 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 = falta.id_aluno_matricula and mdp.periodos @> array[falta.id_nota_periodo_aluno]) and not exists ( select * from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = falta.id_aluno_matricula and amdd.id_disciplina = falta.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[falta.id_nota_periodo_aluno])) group by coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina), falta.id_nota_periodo_aluno;
Date: 2024-12-16 09:09:02 Duration: 9s943ms Bind query: yes
-
select coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina) as id_disciplina, falta.id_nota_periodo_aluno, sum(falta.qtd_faltas)::int as falta from falta_aluno_disciplina falta inner join turma_disciplina td on td.id_disciplina = falta.id_disciplina inner join componente_curricular cc on cc.id_grade_curricular = td.id_grade_curricular and cc.id_disciplina = falta.id_disciplina where falta.id_aluno_matricula = '3326878' and td.id_turma = '240018967' and td.id_grade_curricular = '5289' 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 = falta.id_aluno_matricula and mdp.periodos @> array[falta.id_nota_periodo_aluno]) and not exists ( select * from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = falta.id_aluno_matricula and amdd.id_disciplina = falta.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[falta.id_nota_periodo_aluno])) group by coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina), falta.id_nota_periodo_aluno;
Date: 2024-12-16 10:54:56 Duration: 9s762ms Bind query: yes
-
select coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina) as id_disciplina, falta.id_nota_periodo_aluno, sum(falta.qtd_faltas)::int as falta from falta_aluno_disciplina falta inner join turma_disciplina td on td.id_disciplina = falta.id_disciplina inner join componente_curricular cc on cc.id_grade_curricular = td.id_grade_curricular and cc.id_disciplina = falta.id_disciplina where falta.id_aluno_matricula = '3334392' and td.id_turma = '240018825' and td.id_grade_curricular = '5286' 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 = falta.id_aluno_matricula and mdp.periodos @> array[falta.id_nota_periodo_aluno]) and not exists ( select * from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = falta.id_aluno_matricula and amdd.id_disciplina = falta.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[falta.id_nota_periodo_aluno])) group by coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina), falta.id_nota_periodo_aluno;
Date: 2024-12-16 10:52:31 Duration: 9s732ms Bind query: yes
8 22m45s 1,422 500ms 3s698ms 960ms select a.codigo as matricula, am.id_aluno_matricula AS "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ? || cid.nome_pai AS "nomeFiliacao", to_char(cid.nascimento_data, ?) AS "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> ? and cid.id_instituicao = ? and date(cid.nascimento_data) = date(?) and cid.nome == = ? and (upper(cid.nome_pai) = upper(trim(?)) or upper(cid.nome_mae) = upper(trim(?)));Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Dec 16 10 1,110 18m8s 980ms 11 312 4m36s 887ms -
select a.codigo as matricula, am.id_aluno_matricula as "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ' / ' || cid.nome_pai as "nomeFiliacao", to_char(cid.nascimento_data, 'dd/MM/yyyy') as "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> '10' and cid.id_instituicao = '97' and date(cid.nascimento_data) = date('2018-05-12 00:00:00-03') and cid.nome == = 'Isabelly Sousa Nóbrega da Silva' and (upper(cid.nome_pai) = upper(trim('Natalia Sousa Damasio de Oliveira')) or upper(cid.nome_mae) = upper(trim('Natalia Sousa Damasio de Oliveira')));
Date: 2024-12-16 10:33:53 Duration: 3s698ms Bind query: yes
-
select a.codigo as matricula, am.id_aluno_matricula as "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ' / ' || cid.nome_pai as "nomeFiliacao", to_char(cid.nascimento_data, 'dd/MM/yyyy') as "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> '10' and cid.id_instituicao = '97' and date(cid.nascimento_data) = date('2010-06-16 00:00:00-03') and cid.nome == = 'Lukas rubini da Rocha' and (upper(cid.nome_pai) = upper(trim('Sabrina de Jesus costa rubini')) or upper(cid.nome_mae) = upper(trim('Sabrina de Jesus costa rubini')));
Date: 2024-12-16 10:33:39 Duration: 3s642ms Bind query: yes
-
select a.codigo as matricula, am.id_aluno_matricula as "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ' / ' || cid.nome_pai as "nomeFiliacao", to_char(cid.nascimento_data, 'dd/MM/yyyy') as "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> '10' and cid.id_instituicao = '97' and date(cid.nascimento_data) = date('2020-09-19 00:00:00-03') and cid.nome == = 'Maria Eduarda Moura daSilva' and (upper(cid.nome_pai) = upper(trim('mae')) or upper(cid.nome_mae) = upper(trim('mae')));
Date: 2024-12-16 10:33:54 Duration: 3s474ms Bind query: yes
9 21m38s 1,420 500ms 6s224ms 914ms select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = ? left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = ? left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = ? where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = ? and ts.id_serie = ? and ogc.id_componente_curricular is null order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Dec 16 00 3 3s972ms 1s324ms 07 9 7s773ms 863ms 08 295 4m10s 848ms 09 435 6m36s 910ms 10 462 7m14s 940ms 11 216 3m25s 952ms -
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = '0' left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '0' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240010267' and ts.id_serie = '1996' and ogc.id_componente_curricular is null order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 11:04:35 Duration: 6s224ms Bind query: yes
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = '410019' left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '0' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240003230' and ts.id_serie = '2197' and ogc.id_componente_curricular is null order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 11:04:35 Duration: 5s570ms Bind query: yes
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = '0' left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '17361347' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240002400' and ts.id_serie = '2201' and ogc.id_componente_curricular is null order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 10:38:00 Duration: 3s462ms Bind query: yes
10 20m27s 2 1m4s 19m23s 10m13s 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 #10
Day Hour Count Duration Avg duration Dec 16 00 1 1m4s 1m4s 01 1 19m23s 19m23s -
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: 2024-12-16 01:28:01 Duration: 19m23s Bind query: yes
-
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: 2024-12-16 00:45:11 Duration: 1m4s Bind query: yes
11 19m53s 3 1m25s 16m1s 6m37s 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 #11
Day Hour Count Duration Avg duration Dec 16 00 1 2m26s 2m26s 01 2 17m26s 8m43s -
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: 2024-12-16 01:01:12 Duration: 16m1s 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: 2024-12-16 00:08:25 Duration: 2m26s 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: 2024-12-16 01:29:26 Duration: 1m25s Bind query: yes
12 19m23s 837 500ms 9s843ms 1s390ms 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 = cc.id_componente_curricular) as flg_ministrado, exists ( select null from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado where poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ts.id_turma and pbo.id_serie = ts.id_serie and pbo.id_disciplina = cc.id_disciplina) as flg_planejado from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = ? and ts.id_serie = ? and cc.id_disciplina = ? order by ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Dec 16 00 9 5s969ms 663ms 02 1 533ms 533ms 07 23 23s774ms 1s33ms 08 191 3m51s 1s210ms 09 223 5m43s 1s541ms 10 267 6m20s 1s423ms 11 123 2m58s 1s453ms -
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 = cc.id_componente_curricular) as flg_ministrado, exists ( select null from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado where poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ts.id_turma and pbo.id_serie = ts.id_serie and pbo.id_disciplina = cc.id_disciplina) as flg_planejado from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240007854' and ts.id_serie = '2046' and cc.id_disciplina = '1804' order by ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 09:58:18 Duration: 9s843ms 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 = cc.id_componente_curricular) as flg_ministrado, exists ( select null from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado where poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ts.id_turma and pbo.id_serie = ts.id_serie and pbo.id_disciplina = cc.id_disciplina) as flg_planejado from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240008294' and ts.id_serie = '2107' and cc.id_disciplina = '1978' order by ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 11:03:25 Duration: 8s737ms 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 = cc.id_componente_curricular) as flg_ministrado, exists ( select null from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado where poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ts.id_turma and pbo.id_serie = ts.id_serie and pbo.id_disciplina = cc.id_disciplina) as flg_planejado from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240002955' and ts.id_serie = '1722' and cc.id_disciplina = '1403' order by ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 10:21:21 Duration: 8s278ms Bind query: yes
13 19m12s 1,288 500ms 3s250ms 894ms select d.id_disciplina, d.sigla AS "disciplina", am.id_aluno_matricula, na.nota AS "nota", ( select ca.sigla from conceito_avaliacao ca where ca.id_conceito_avaliacao = sp_obter_conceito_avaliacao_nota_periodo (d.id_instituicao, am.id_aluno_matricula, na.id_nota_periodo_aluno, na.nota)) as nota_conceito, s.id_forma_avaliacao = ? and cc.id_expressao_resultado_componente = ? as flg_converte_nota_conceito, na.id_nota_periodo_aluno, na.flg_nao_compareceu from aluno_matricula am 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 serie s on s.id_serie = amt.id_serie_enturmacao inner join turma_serie ts on ts.id_serie = s.id_serie and ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular and cc.flg_aponta_notas is true inner join disciplina d on d.id_disciplina = cc.id_disciplina left join nota_aluno na on na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_nota_periodo_aluno = ? and na.id_turma = t.id_turma where am.id_aluno_matricula = ? and amt.id_turma = ? order by d.sigla;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Dec 16 07 6 3s808ms 634ms 08 258 3m57s 920ms 09 303 4m26s 879ms 10 498 7m31s 905ms 11 223 3m13s 867ms -
select d.id_disciplina, d.sigla as "disciplina", am.id_aluno_matricula, na.nota as "nota", ( select ca.sigla from conceito_avaliacao ca where ca.id_conceito_avaliacao = sp_obter_conceito_avaliacao_nota_periodo (d.id_instituicao, am.id_aluno_matricula, na.id_nota_periodo_aluno, na.nota)) as nota_conceito, s.id_forma_avaliacao = '1' and cc.id_expressao_resultado_componente = '2' as flg_converte_nota_conceito, na.id_nota_periodo_aluno, na.flg_nao_compareceu from aluno_matricula am 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 serie s on s.id_serie = amt.id_serie_enturmacao inner join turma_serie ts on ts.id_serie = s.id_serie and ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular and cc.flg_aponta_notas is true inner join disciplina d on d.id_disciplina = cc.id_disciplina left join nota_aluno na on na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_nota_periodo_aluno = '1' and na.id_turma = t.id_turma where am.id_aluno_matricula = '3044514' and amt.id_turma = '240013732' order by d.sigla;
Date: 2024-12-16 10:38:00 Duration: 3s250ms Bind query: yes
-
select d.id_disciplina, d.sigla as "disciplina", am.id_aluno_matricula, na.nota as "nota", ( select ca.sigla from conceito_avaliacao ca where ca.id_conceito_avaliacao = sp_obter_conceito_avaliacao_nota_periodo (d.id_instituicao, am.id_aluno_matricula, na.id_nota_periodo_aluno, na.nota)) as nota_conceito, s.id_forma_avaliacao = '1' and cc.id_expressao_resultado_componente = '2' as flg_converte_nota_conceito, na.id_nota_periodo_aluno, na.flg_nao_compareceu from aluno_matricula am 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 serie s on s.id_serie = amt.id_serie_enturmacao inner join turma_serie ts on ts.id_serie = s.id_serie and ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular and cc.flg_aponta_notas is true inner join disciplina d on d.id_disciplina = cc.id_disciplina left join nota_aluno na on na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_nota_periodo_aluno = '2' and na.id_turma = t.id_turma where am.id_aluno_matricula = '3244816' and amt.id_turma = '240008450' order by d.sigla;
Date: 2024-12-16 10:38:01 Duration: 3s200ms Bind query: yes
-
select d.id_disciplina, d.sigla as "disciplina", am.id_aluno_matricula, na.nota as "nota", ( select ca.sigla from conceito_avaliacao ca where ca.id_conceito_avaliacao = sp_obter_conceito_avaliacao_nota_periodo (d.id_instituicao, am.id_aluno_matricula, na.id_nota_periodo_aluno, na.nota)) as nota_conceito, s.id_forma_avaliacao = '1' and cc.id_expressao_resultado_componente = '2' as flg_converte_nota_conceito, na.id_nota_periodo_aluno, na.flg_nao_compareceu from aluno_matricula am 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 serie s on s.id_serie = amt.id_serie_enturmacao inner join turma_serie ts on ts.id_serie = s.id_serie and ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular and cc.flg_aponta_notas is true inner join disciplina d on d.id_disciplina = cc.id_disciplina left join nota_aluno na on na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_nota_periodo_aluno = '3' and na.id_turma = t.id_turma where am.id_aluno_matricula = '3062337' and amt.id_turma = '240010057' order by d.sigla;
Date: 2024-12-16 08:32:52 Duration: 3s136ms Bind query: yes
14 19m3s 79 2s5ms 1m7s 14s472ms select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado in ( select p.id_planejamento_bimestral_organizado from planejamento_organizado_conteudo p inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado where p.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ? and pbo.id_serie = ? and pbo.id_disciplina = ?) left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = ? left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = ? where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = ? and ts.id_serie = ? and cc.id_disciplina = ? order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Dec 16 08 14 5m7s 21s952ms 09 36 7m32s 12s558ms 10 29 6m23s 13s239ms -
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado in ( select p.id_planejamento_bimestral_organizado from planejamento_organizado_conteudo p inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado where p.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = '240001231' and pbo.id_serie = '1970' and pbo.id_disciplina = '1817') left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '0' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240001231' and ts.id_serie = '1970' and cc.id_disciplina = '1817' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 09:59:00 Duration: 1m7s Bind query: yes
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado in ( select p.id_planejamento_bimestral_organizado from planejamento_organizado_conteudo p inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado where p.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = '240019481' and pbo.id_serie = '2194' and pbo.id_disciplina = '2216') left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '0' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240019481' and ts.id_serie = '2194' and cc.id_disciplina = '2216' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 08:57:46 Duration: 52s399ms Bind query: yes
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado in ( select p.id_planejamento_bimestral_organizado from planejamento_organizado_conteudo p inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado where p.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = '240019760' and pbo.id_serie = '1968' and pbo.id_disciplina = '2557') left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '0' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240019760' and ts.id_serie = '1968' and cc.id_disciplina = '2557' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 10:01:28 Duration: 51s190ms Bind query: yes
15 17m50s 2 3m1s 14m48s 8m55s 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 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 #15
Day Hour Count Duration Avg duration Dec 16 00 2 17m50s 8m55s -
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 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: 2024-12-16 00:31:06 Duration: 14m48s 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 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: 2024-12-16 00:04:28 Duration: 3m1s Bind query: yes
16 16m37s 1 16m37s 16m37s 16m37s 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 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 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 #16
Day Hour Count Duration Avg duration Dec 16 10 1 16m37s 16m37s -
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 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 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 ('98', 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 = '98' and ano_semestre.ano = '2024' and uf.id_municipio = '330350' and uf.id_unidade_funcional in ( select '607078' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607078' and id_assunto_hierarquia_unidade = '81') and am.id_aluno_matr_status in (1, 2, 7) and serie_turma.id_forma_avaliacao in (1, 2) order by uf.nome, curso_turma.sigla, serie_matricula.sigla, t.codigo, amt.chamada, d.descricao, turma_periodo.id_nota_periodo_aluno;
Date: 2024-12-16 10:29:57 Duration: 16m37s Bind query: yes
17 16m27s 177 500ms 1m6s 5s581ms 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 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)))));Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Dec 16 00 1 500ms 500ms 02 8 24s629ms 3s78ms 03 8 14s953ms 1s869ms 04 4 2s354ms 588ms 05 4 2s349ms 587ms 07 12 58s626ms 4s885ms 08 30 5m16s 10s565ms 09 29 1m58s 4s94ms 10 49 5m46s 7s68ms 11 32 1m42s 3s202ms -
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 = '2024' 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 ('240009176', '240009188', '240009187', '240009180', '240009177', '240010501', '240009193', '240009192', '240009184', '240009175', '240009174', '240009195', '240009179', '240009182', '240009191', '240009194', '240009185', '240009190', '240009183', '240009186', '240009178') and npa.id_nota_periodo_aluno = bimestre_para_periodo ('2', 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 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 <= '2') and (mdp.periodos is null or not mdp.periodos @> ARRAY['2']) and emap.id_nota_periodo_aluno = '2' 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 = '2' 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)))));
Date: 2024-12-16 10:51:31 Duration: 1m6s 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 = '2024' 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 ('240010055', '240010061', '240010054', '240010048', '240013671', '240010060', '240010058', '240013683') and npa.id_nota_periodo_aluno = bimestre_para_periodo ('3', 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 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 <= '3') and (mdp.periodos is null or not mdp.periodos @> ARRAY['3']) and emap.id_nota_periodo_aluno = '3' 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 = '3' 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)))));
Date: 2024-12-16 08:57:39 Duration: 43s581ms 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 = '2024' 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 ('240009176', '240009188', '240009187', '240009180', '240009177', '240010501', '240009193', '240009192', '240009184', '240009175', '240009174', '240009195', '240009179', '240009182', '240009191', '240009194', '240009185', '240009190', '240009183', '240009186', '240009178') and npa.id_nota_periodo_aluno = bimestre_para_periodo ('4', 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 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 <= '4') and (mdp.periodos is null or not mdp.periodos @> ARRAY['4']) and emap.id_nota_periodo_aluno = '4' 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 = '4' 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)))));
Date: 2024-12-16 10:53:50 Duration: 35s970ms Bind query: yes
18 14m48s 307 501ms 1m45s 2s893ms 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 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 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 cne where cne.id_cidadao = am.id_cidadao and cne.id_necessidade_especial in ( select unnest(a.necessidade_especial)))) 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) 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 Dec 16 00 2 1s604ms 802ms 05 1 882ms 882ms 06 5 3s250ms 650ms 07 54 1m34s 1s749ms 08 76 4m29s 3s551ms 09 76 4m32s 3s585ms 10 68 2m41s 2s380ms 11 25 1m23s 3s347ms -
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 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 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 cne where cne.id_cidadao = am.id_cidadao and cne.id_necessidade_especial in ( select unnest(a.necessidade_especial)))) 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 ('240004608', '240004612', '240004604', '240004621', '240004602', '240004626', '240004613', '240004616', '240004609', '240004611', '240004615', '240004607', '240004614', '240004605', '240004606') 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) 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: 2024-12-16 08:33:33 Duration: 1m45s 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 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 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 cne where cne.id_cidadao = am.id_cidadao and cne.id_necessidade_especial in ( select unnest(a.necessidade_especial)))) 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 ('240006075', '240006068', '240006056', '240006062', '240006071', '240006059', '240006061', '240006055', '240006070', '240006072', '240006182', '240006057', '240006052', '240006073', '240006060', '240006063', '240006245', '240006048', '240006067', '240006180', '240006176', '240006064', '240006074', '240006058', '240006178', '240006069', '240006066', '240006065') 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) 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: 2024-12-16 09:11:09 Duration: 44s494ms 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 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 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 cne where cne.id_cidadao = am.id_cidadao and cne.id_necessidade_especial in ( select unnest(a.necessidade_especial)))) 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 ('240004663', '240004732', '240004677', '240004679', '240004656', '240004660', '240004657', '240004669', '240004678', '240004654', '240004667', '240004671', '240004658', '240004681', '240004662', '240004664', '240004673', '240004659', '240004675', '240004672', '240004676', '240004670', '240004682', '240004674', '240004661', '240004889', '240004665', '240004666', '240004668', '240004680', '240004684', '240004655') 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) 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: 2024-12-16 09:03:01 Duration: 44s205ms Bind query: yes
19 14m32s 774 501ms 6s953ms 1s127ms select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, pb.flg_aprovacao_professor is true as flg_aprovacao_professor, pb.flg_aprovacao_diretor is true as flg_aprovacao_diretor, pb.flg_aprovacao_secretario is true as flg_aprovacao_secretario, oc.id_organizador_curricular, oc.flg_componente_curricular as organizador_por_componente_curricular from turma t inner join turma_serie ts using (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 a on a.id_ano_semestre = t.id_ano_semestre inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = ts.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) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular and cc.flg_planejamento_bimestral is true left join disciplina d on d.id_disciplina = cc.id_disciplina left join planejamento_bimestral_organizado pb on t.id_turma = pb.id_turma and (pb.id_disciplina is null or cc.id_disciplina = pb.id_disciplina) and ts.id_serie = pb.id_serie and pb.id_nota_periodo_aluno = bimestre_para_periodo (?, curso.serie_duracao = ?, curso.id_periodicidade_apontamento = ?) where t.id_turma in (...) and (oc.flg_componente_curricular is false or cc.id_componente_curricular notnull);Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Dec 16 01 12 7s611ms 634ms 02 1 503ms 503ms 04 5 4s153ms 830ms 06 6 3s120ms 520ms 07 78 1m 774ms 08 183 3m28s 1s140ms 09 147 3m31s 1s438ms 10 265 4m38s 1s49ms 11 77 1m38s 1s276ms -
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, pb.flg_aprovacao_professor is true as flg_aprovacao_professor, pb.flg_aprovacao_diretor is true as flg_aprovacao_diretor, pb.flg_aprovacao_secretario is true as flg_aprovacao_secretario, oc.id_organizador_curricular, oc.flg_componente_curricular as organizador_por_componente_curricular from turma t inner join turma_serie ts using (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 a on a.id_ano_semestre = t.id_ano_semestre inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = ts.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) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular and cc.flg_planejamento_bimestral is true left join disciplina d on d.id_disciplina = cc.id_disciplina left join planejamento_bimestral_organizado pb on t.id_turma = pb.id_turma and (pb.id_disciplina is null or cc.id_disciplina = pb.id_disciplina) and ts.id_serie = pb.id_serie and pb.id_nota_periodo_aluno = bimestre_para_periodo ('4', curso.serie_duracao = 2, curso.id_periodicidade_apontamento = 3) where t.id_turma in ('240005267', '240005270') and (oc.flg_componente_curricular is false or cc.id_componente_curricular notnull);
Date: 2024-12-16 09:57:34 Duration: 6s953ms Bind query: yes
-
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, pb.flg_aprovacao_professor is true as flg_aprovacao_professor, pb.flg_aprovacao_diretor is true as flg_aprovacao_diretor, pb.flg_aprovacao_secretario is true as flg_aprovacao_secretario, oc.id_organizador_curricular, oc.flg_componente_curricular as organizador_por_componente_curricular from turma t inner join turma_serie ts using (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 a on a.id_ano_semestre = t.id_ano_semestre inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = ts.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) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular and cc.flg_planejamento_bimestral is true left join disciplina d on d.id_disciplina = cc.id_disciplina left join planejamento_bimestral_organizado pb on t.id_turma = pb.id_turma and (pb.id_disciplina is null or cc.id_disciplina = pb.id_disciplina) and ts.id_serie = pb.id_serie and pb.id_nota_periodo_aluno = bimestre_para_periodo ('3', curso.serie_duracao = 2, curso.id_periodicidade_apontamento = 3) where t.id_turma in ('240005267', '240005270') and (oc.flg_componente_curricular is false or cc.id_componente_curricular notnull);
Date: 2024-12-16 09:57:17 Duration: 6s520ms Bind query: yes
-
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, pb.flg_aprovacao_professor is true as flg_aprovacao_professor, pb.flg_aprovacao_diretor is true as flg_aprovacao_diretor, pb.flg_aprovacao_secretario is true as flg_aprovacao_secretario, oc.id_organizador_curricular, oc.flg_componente_curricular as organizador_por_componente_curricular from turma t inner join turma_serie ts using (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 a on a.id_ano_semestre = t.id_ano_semestre inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = ts.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) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular and cc.flg_planejamento_bimestral is true left join disciplina d on d.id_disciplina = cc.id_disciplina left join planejamento_bimestral_organizado pb on t.id_turma = pb.id_turma and (pb.id_disciplina is null or cc.id_disciplina = pb.id_disciplina) and ts.id_serie = pb.id_serie and pb.id_nota_periodo_aluno = bimestre_para_periodo ('1', curso.serie_duracao = 2, curso.id_periodicidade_apontamento = 3) where t.id_turma in ('240009586', '240013275') and (oc.flg_componente_curricular is false or cc.id_componente_curricular notnull);
Date: 2024-12-16 09:35:00 Duration: 6s406ms Bind query: yes
20 13m34s 418 502ms 21s984ms 1s948ms select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, (faltas_mes_ate_atual - faltas_mes)::int as faltas_anteriores, faltas_mes::int as faltas_mes, faltas_mes_ate_atual::int as faltas_total from ( select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, faltas_anteriores, faltas_mes, faltas_anteriores + (sum(faltas_mes) over (partition by id_aluno_matricula, chamada, id_disciplina order by ano, id_mes)) as faltas_mes_ate_atual from ( select ts.id_turma, a.id_aluno_matricula, a.chamada, cc.id_disciplina, amdd.id_motivo_dispensa_disciplina notnull or mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(to_char(f.data, ? || f.id_horario_turma)) from falta_aluno_disciplina_diario f inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.id_turma = ts.id_turma and f.id_disciplina = cc.id_disciplina and f.id_aluno_matricula = a.id_aluno_matricula and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfdd.flg_concluido is true), ?)::int as faltas_mes, coalesce(( select sum(coalesce(falta_justificada, ?) + coalesce(falta_nao_justificada, ?)) from falta_anterior_aluno_disciplina fa where fa.id_aluno_matricula = a.id_aluno_matricula and fa.id_disciplina = cc.id_disciplina), ?)::int as faltas_anteriores from turma_serie ts inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = ? left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = ? and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between ? and ? or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = a.id_aluno_matricula and amdd.id_turma = ts.id_turma and amdd.id_disciplina = cc.id_disciplina and (m.id_nota_periodo_aluno = any (amdd.periodos) or amdd.flg_dispensado_todos_periodos) left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = ? and ts.id_serie = ? and cc.flg_aponta_faltas) t) x order by id_aluno_matricula, id_disciplina, ano, id_mes;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Dec 16 06 1 594ms 594ms 07 33 32s619ms 988ms 08 103 3m31s 2s57ms 09 153 5m16s 2s70ms 10 75 2m29s 1s991ms 11 53 1m43s 1s949ms -
select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, (faltas_mes_ate_atual - faltas_mes)::int as faltas_anteriores, --as faltas do mês do diário faltas_mes::int as faltas_mes, -- total: total mês atual faltas_mes_ate_atual::int as faltas_total from ( select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, faltas_anteriores, faltas_mes, faltas_anteriores + (sum(faltas_mes) over (partition by id_aluno_matricula, chamada, id_disciplina order by ano, id_mes)) as faltas_mes_ate_atual from ( select ts.id_turma, a.id_aluno_matricula, a.chamada, cc.id_disciplina, amdd.id_motivo_dispensa_disciplina notnull or mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, -- faltas diárias do mês nessa turma coalesce(( select count(to_char(f.data, 'YYYY-MM-DD' || f.id_horario_turma)) from falta_aluno_disciplina_diario f inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.id_turma = ts.id_turma and f.id_disciplina = cc.id_disciplina and f.id_aluno_matricula = a.id_aluno_matricula and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfdd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_disciplina fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula and fa.id_disciplina = cc.id_disciplina), 0)::int as faltas_anteriores from turma_serie ts inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '240001133' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '1134' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de componente left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = a.id_aluno_matricula and amdd.id_turma = ts.id_turma and amdd.id_disciplina = cc.id_disciplina and (m.id_nota_periodo_aluno = any (amdd.periodos) or amdd.flg_dispensado_todos_periodos) -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = '240001133' and ts.id_serie = '104' and cc.flg_aponta_faltas) t) x order by id_aluno_matricula, id_disciplina, ano, id_mes;
Date: 2024-12-16 08:40:39 Duration: 21s984ms Bind query: yes
-
select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, (faltas_mes_ate_atual - faltas_mes)::int as faltas_anteriores, --as faltas do mês do diário faltas_mes::int as faltas_mes, -- total: total mês atual faltas_mes_ate_atual::int as faltas_total from ( select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, faltas_anteriores, faltas_mes, faltas_anteriores + (sum(faltas_mes) over (partition by id_aluno_matricula, chamada, id_disciplina order by ano, id_mes)) as faltas_mes_ate_atual from ( select ts.id_turma, a.id_aluno_matricula, a.chamada, cc.id_disciplina, amdd.id_motivo_dispensa_disciplina notnull or mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, -- faltas diárias do mês nessa turma coalesce(( select count(to_char(f.data, 'YYYY-MM-DD' || f.id_horario_turma)) from falta_aluno_disciplina_diario f inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.id_turma = ts.id_turma and f.id_disciplina = cc.id_disciplina and f.id_aluno_matricula = a.id_aluno_matricula and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfdd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_disciplina fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula and fa.id_disciplina = cc.id_disciplina), 0)::int as faltas_anteriores from turma_serie ts inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '240001821' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '1168' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de componente left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = a.id_aluno_matricula and amdd.id_turma = ts.id_turma and amdd.id_disciplina = cc.id_disciplina and (m.id_nota_periodo_aluno = any (amdd.periodos) or amdd.flg_dispensado_todos_periodos) -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = '240001821' and ts.id_serie = '102' and cc.flg_aponta_faltas) t) x order by id_aluno_matricula, id_disciplina, ano, id_mes;
Date: 2024-12-16 11:27:54 Duration: 14s988ms Bind query: yes
-
select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, (faltas_mes_ate_atual - faltas_mes)::int as faltas_anteriores, --as faltas do mês do diário faltas_mes::int as faltas_mes, -- total: total mês atual faltas_mes_ate_atual::int as faltas_total from ( select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, faltas_anteriores, faltas_mes, faltas_anteriores + (sum(faltas_mes) over (partition by id_aluno_matricula, chamada, id_disciplina order by ano, id_mes)) as faltas_mes_ate_atual from ( select ts.id_turma, a.id_aluno_matricula, a.chamada, cc.id_disciplina, amdd.id_motivo_dispensa_disciplina notnull or mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, -- faltas diárias do mês nessa turma coalesce(( select count(to_char(f.data, 'YYYY-MM-DD' || f.id_horario_turma)) from falta_aluno_disciplina_diario f inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.id_turma = ts.id_turma and f.id_disciplina = cc.id_disciplina and f.id_aluno_matricula = a.id_aluno_matricula and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfdd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_disciplina fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula and fa.id_disciplina = cc.id_disciplina), 0)::int as faltas_anteriores from turma_serie ts inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '240019481' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '21827' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de componente left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = a.id_aluno_matricula and amdd.id_turma = ts.id_turma and amdd.id_disciplina = cc.id_disciplina and (m.id_nota_periodo_aluno = any (amdd.periodos) or amdd.flg_dispensado_todos_periodos) -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = '240019481' and ts.id_serie = '2194' and cc.flg_aponta_faltas) t) x order by id_aluno_matricula, id_disciplina, ano, id_mes;
Date: 2024-12-16 09:09:25 Duration: 11s418ms Bind query: yes
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 15,404 3h52m40s 500ms 6s11ms 906ms select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = ? left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = ? left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = ? where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = ? and ts.id_serie = ? and cc.id_disciplina = ? order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Dec 16 00 27 26s263ms 972ms 01 5 6s435ms 1s287ms 02 7 5s609ms 801ms 07 212 3m 852ms 08 3,669 52m50s 864ms 09 4,428 1h8m24s 926ms 10 5,144 1h17m58s 909ms 11 1,912 29m48s 935ms -
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = '0' left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '2420274' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240003128' and ts.id_serie = '101' and cc.id_disciplina = '1' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 09:22:21 Duration: 6s11ms Bind query: yes
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = '0' left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '2420270' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240000102' and ts.id_serie = '106' and cc.id_disciplina = '4' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 09:22:21 Duration: 5s873ms Bind query: yes
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = '0' left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '17369766' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240002199' and ts.id_serie = '2011' and cc.id_disciplina = '1903' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 09:22:19 Duration: 5s561ms Bind query: yes
2 7,643 3h27m30s 500ms 9s449ms 1s628ms select distinct 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;Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Dec 16 00 6 3s950ms 658ms 01 4 2s603ms 650ms 02 2 1s307ms 653ms 05 2 1s255ms 627ms 06 4 2s622ms 655ms 07 93 1m18s 848ms 08 1,805 42m23s 1s409ms 09 2,398 1h10m15s 1s758ms 10 2,206 1h2m2s 1s687ms 11 1,123 31m17s 1s672ms -
select distinct 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 = 2947233) AND (amt.id_turma = 240003235) order by d.ordem, d.descricao;
Date: 2024-12-16 09:46:04 Duration: 9s449ms Bind query: yes
-
select distinct 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 = 2922144) AND (amt.id_turma = 240000900) order by d.ordem, d.descricao;
Date: 2024-12-16 10:39:10 Duration: 9s427ms Bind query: yes
-
select distinct 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 = 2987111) AND (amt.id_turma = 240006451) order by d.ordem, d.descricao;
Date: 2024-12-16 08:44:38 Duration: 9s393ms Bind query: yes
3 4,618 2h50m41s 500ms 1m7s 2s217ms select id_turma, id_serie, id_disciplina, id_componente_curricular, 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, 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 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) x;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Dec 16 00 76 2m36s 2s64ms 01 825 11m47s 857ms 02 625 8m28s 813ms 03 12 22s139ms 1s844ms 04 6 6s503ms 1s83ms 05 32 41s89ms 1s284ms 06 77 1m33s 1s217ms 07 503 13m19s 1s589ms 08 821 41m59s 3s69ms 09 643 33m46s 3s151ms 10 722 41m39s 3s461ms 11 276 14m19s 3s114ms -
select id_turma, id_serie, id_disciplina, id_componente_curricular, 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, 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 where t.id_turma in ('240005067', '240005068', '240005069', '240005070', '240005071', '240005073', '240005074', '240005076', '240005078', '240005080', '240005081', '240005082', '240005083', '240005084', '240005085', '240005086', '240005087', '240005088', '240005089', '240005091', '240005092', '240019170') 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) x;
Date: 2024-12-16 10:46:36 Duration: 1m7s Bind query: yes
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, 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, case when oc.flg_conteudo_por_periodo or oc.flg_conteudo_somente_planejados then '' else '*' end as asterisco, case when oc.flg_conteudo_somente_planejados then p.id_planejamento_bimestral_organizado isnull else false end as pendencia_planejamento, -- total, count( case when oc.flg_conteudo_somente_planejados then poc.id_planejamento_bimestral_organizado else ct.id_conteudo_curricular end) as total, -- ministrados count( case when exists ( select null from conteudo_organizado_aula_conteudo coac inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coac.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and case when oc.flg_conteudo_somente_planejados then coac.id_conteudo_matriz_conteudo = poc.id_conteudo_matriz_conteudo else coac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo end) then 1 else null end) as ministrados from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on cc.id_disciplina = d.id_disciplina inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = gc.id_grade_curricular and a.id_ano_semestre between ogc.id_ano_semestre_inicio and coalesce(ogc.id_ano_semestre_termino, a.id_ano_semestre) and (ogc.id_componente_curricular = cc.id_componente_curricular or ogc.id_componente_curricular is null) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular inner join matriz_conteudo_curricular mcc on mcc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mcc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mcc.id_matriz_conteudo_curricular inner join conteudo_curricular ct on ct.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = ct.id_tipo_conteudo_curricular and ec.id_organizador_curricular = oc.id_organizador_curricular and ec.flg_apontamento left join planejamento_bimestral_organizado p on p.id_turma = t.id_turma and p.id_serie = ts.id_serie and coalesce(p.id_disciplina, d.id_disciplina) = cc.id_disciplina and p.id_nota_periodo_aluno = bimestre_para_periodo ('4', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) and oc.flg_conteudo_somente_planejados left join planejamento_organizado_conteudo poc on poc.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado and poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo where t.id_turma in ('240005385', '240005387', '240005388', '240005389', '240005391', '240005393', '240005415', '240005419', '240005421', '240005422', '240005423', '240005426', '240005429', '240005431', '240005432') and (cc.flg_aponta_conteudo_curricular or not oc.flg_componente_curricular) and (cmc.id_nota_periodo_aluno = bimestre_para_periodo ('4', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) or not oc.flg_conteudo_por_periodo) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, oc.id_organizador_curricular, p.id_planejamento_bimestral_organizado) x;
Date: 2024-12-16 09:33:59 Duration: 46s56ms Bind query: yes
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, 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, 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 where t.id_turma in ('240005067', '240005068', '240005069', '240005070', '240005071', '240005073', '240005074', '240005076', '240005078', '240005080', '240005081', '240005082', '240005083', '240005084', '240005085', '240005086', '240005087', '240005088', '240005089', '240005091', '240005092', '240019170') 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) x;
Date: 2024-12-16 10:48:13 Duration: 44s984ms Bind query: yes
4 1,422 22m45s 500ms 3s698ms 960ms select a.codigo as matricula, am.id_aluno_matricula AS "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ? || cid.nome_pai AS "nomeFiliacao", to_char(cid.nascimento_data, ?) AS "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> ? and cid.id_instituicao = ? and date(cid.nascimento_data) = date(?) and cid.nome == = ? and (upper(cid.nome_pai) = upper(trim(?)) or upper(cid.nome_mae) = upper(trim(?)));Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Dec 16 10 1,110 18m8s 980ms 11 312 4m36s 887ms -
select a.codigo as matricula, am.id_aluno_matricula as "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ' / ' || cid.nome_pai as "nomeFiliacao", to_char(cid.nascimento_data, 'dd/MM/yyyy') as "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> '10' and cid.id_instituicao = '97' and date(cid.nascimento_data) = date('2018-05-12 00:00:00-03') and cid.nome == = 'Isabelly Sousa Nóbrega da Silva' and (upper(cid.nome_pai) = upper(trim('Natalia Sousa Damasio de Oliveira')) or upper(cid.nome_mae) = upper(trim('Natalia Sousa Damasio de Oliveira')));
Date: 2024-12-16 10:33:53 Duration: 3s698ms Bind query: yes
-
select a.codigo as matricula, am.id_aluno_matricula as "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ' / ' || cid.nome_pai as "nomeFiliacao", to_char(cid.nascimento_data, 'dd/MM/yyyy') as "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> '10' and cid.id_instituicao = '97' and date(cid.nascimento_data) = date('2010-06-16 00:00:00-03') and cid.nome == = 'Lukas rubini da Rocha' and (upper(cid.nome_pai) = upper(trim('Sabrina de Jesus costa rubini')) or upper(cid.nome_mae) = upper(trim('Sabrina de Jesus costa rubini')));
Date: 2024-12-16 10:33:39 Duration: 3s642ms Bind query: yes
-
select a.codigo as matricula, am.id_aluno_matricula as "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ' / ' || cid.nome_pai as "nomeFiliacao", to_char(cid.nascimento_data, 'dd/MM/yyyy') as "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> '10' and cid.id_instituicao = '97' and date(cid.nascimento_data) = date('2020-09-19 00:00:00-03') and cid.nome == = 'Maria Eduarda Moura daSilva' and (upper(cid.nome_pai) = upper(trim('mae')) or upper(cid.nome_mae) = upper(trim('mae')));
Date: 2024-12-16 10:33:54 Duration: 3s474ms Bind query: yes
5 1,420 21m38s 500ms 6s224ms 914ms select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = ? left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = ? left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = ? where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = ? and ts.id_serie = ? and ogc.id_componente_curricular is null order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Dec 16 00 3 3s972ms 1s324ms 07 9 7s773ms 863ms 08 295 4m10s 848ms 09 435 6m36s 910ms 10 462 7m14s 940ms 11 216 3m25s 952ms -
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = '0' left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '0' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240010267' and ts.id_serie = '1996' and ogc.id_componente_curricular is null order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 11:04:35 Duration: 6s224ms Bind query: yes
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = '410019' left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '0' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240003230' and ts.id_serie = '2197' and ogc.id_componente_curricular is null order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 11:04:35 Duration: 5s570ms Bind query: yes
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = '0' left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '17361347' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240002400' and ts.id_serie = '2201' and ogc.id_componente_curricular is null order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 10:38:00 Duration: 3s462ms Bind query: yes
6 1,288 19m12s 500ms 3s250ms 894ms select d.id_disciplina, d.sigla AS "disciplina", am.id_aluno_matricula, na.nota AS "nota", ( select ca.sigla from conceito_avaliacao ca where ca.id_conceito_avaliacao = sp_obter_conceito_avaliacao_nota_periodo (d.id_instituicao, am.id_aluno_matricula, na.id_nota_periodo_aluno, na.nota)) as nota_conceito, s.id_forma_avaliacao = ? and cc.id_expressao_resultado_componente = ? as flg_converte_nota_conceito, na.id_nota_periodo_aluno, na.flg_nao_compareceu from aluno_matricula am 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 serie s on s.id_serie = amt.id_serie_enturmacao inner join turma_serie ts on ts.id_serie = s.id_serie and ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular and cc.flg_aponta_notas is true inner join disciplina d on d.id_disciplina = cc.id_disciplina left join nota_aluno na on na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_nota_periodo_aluno = ? and na.id_turma = t.id_turma where am.id_aluno_matricula = ? and amt.id_turma = ? order by d.sigla;Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Dec 16 07 6 3s808ms 634ms 08 258 3m57s 920ms 09 303 4m26s 879ms 10 498 7m31s 905ms 11 223 3m13s 867ms -
select d.id_disciplina, d.sigla as "disciplina", am.id_aluno_matricula, na.nota as "nota", ( select ca.sigla from conceito_avaliacao ca where ca.id_conceito_avaliacao = sp_obter_conceito_avaliacao_nota_periodo (d.id_instituicao, am.id_aluno_matricula, na.id_nota_periodo_aluno, na.nota)) as nota_conceito, s.id_forma_avaliacao = '1' and cc.id_expressao_resultado_componente = '2' as flg_converte_nota_conceito, na.id_nota_periodo_aluno, na.flg_nao_compareceu from aluno_matricula am 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 serie s on s.id_serie = amt.id_serie_enturmacao inner join turma_serie ts on ts.id_serie = s.id_serie and ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular and cc.flg_aponta_notas is true inner join disciplina d on d.id_disciplina = cc.id_disciplina left join nota_aluno na on na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_nota_periodo_aluno = '1' and na.id_turma = t.id_turma where am.id_aluno_matricula = '3044514' and amt.id_turma = '240013732' order by d.sigla;
Date: 2024-12-16 10:38:00 Duration: 3s250ms Bind query: yes
-
select d.id_disciplina, d.sigla as "disciplina", am.id_aluno_matricula, na.nota as "nota", ( select ca.sigla from conceito_avaliacao ca where ca.id_conceito_avaliacao = sp_obter_conceito_avaliacao_nota_periodo (d.id_instituicao, am.id_aluno_matricula, na.id_nota_periodo_aluno, na.nota)) as nota_conceito, s.id_forma_avaliacao = '1' and cc.id_expressao_resultado_componente = '2' as flg_converte_nota_conceito, na.id_nota_periodo_aluno, na.flg_nao_compareceu from aluno_matricula am 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 serie s on s.id_serie = amt.id_serie_enturmacao inner join turma_serie ts on ts.id_serie = s.id_serie and ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular and cc.flg_aponta_notas is true inner join disciplina d on d.id_disciplina = cc.id_disciplina left join nota_aluno na on na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_nota_periodo_aluno = '2' and na.id_turma = t.id_turma where am.id_aluno_matricula = '3244816' and amt.id_turma = '240008450' order by d.sigla;
Date: 2024-12-16 10:38:01 Duration: 3s200ms Bind query: yes
-
select d.id_disciplina, d.sigla as "disciplina", am.id_aluno_matricula, na.nota as "nota", ( select ca.sigla from conceito_avaliacao ca where ca.id_conceito_avaliacao = sp_obter_conceito_avaliacao_nota_periodo (d.id_instituicao, am.id_aluno_matricula, na.id_nota_periodo_aluno, na.nota)) as nota_conceito, s.id_forma_avaliacao = '1' and cc.id_expressao_resultado_componente = '2' as flg_converte_nota_conceito, na.id_nota_periodo_aluno, na.flg_nao_compareceu from aluno_matricula am 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 serie s on s.id_serie = amt.id_serie_enturmacao inner join turma_serie ts on ts.id_serie = s.id_serie and ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join componente_curricular cc on cc.id_grade_curricular = gc.id_grade_curricular and cc.flg_aponta_notas is true inner join disciplina d on d.id_disciplina = cc.id_disciplina left join nota_aluno na on na.id_disciplina = d.id_disciplina and na.id_aluno_matricula = am.id_aluno_matricula and na.id_nota_periodo_aluno = '3' and na.id_turma = t.id_turma where am.id_aluno_matricula = '3062337' and amt.id_turma = '240010057' order by d.sigla;
Date: 2024-12-16 08:32:52 Duration: 3s136ms Bind query: yes
7 837 19m23s 500ms 9s843ms 1s390ms 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 = cc.id_componente_curricular) as flg_ministrado, exists ( select null from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado where poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ts.id_turma and pbo.id_serie = ts.id_serie and pbo.id_disciplina = cc.id_disciplina) as flg_planejado from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = ? and ts.id_serie = ? and cc.id_disciplina = ? order by ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Dec 16 00 9 5s969ms 663ms 02 1 533ms 533ms 07 23 23s774ms 1s33ms 08 191 3m51s 1s210ms 09 223 5m43s 1s541ms 10 267 6m20s 1s423ms 11 123 2m58s 1s453ms -
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 = cc.id_componente_curricular) as flg_ministrado, exists ( select null from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado where poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ts.id_turma and pbo.id_serie = ts.id_serie and pbo.id_disciplina = cc.id_disciplina) as flg_planejado from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240007854' and ts.id_serie = '2046' and cc.id_disciplina = '1804' order by ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 09:58:18 Duration: 9s843ms 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 = cc.id_componente_curricular) as flg_ministrado, exists ( select null from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado where poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ts.id_turma and pbo.id_serie = ts.id_serie and pbo.id_disciplina = cc.id_disciplina) as flg_planejado from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240008294' and ts.id_serie = '2107' and cc.id_disciplina = '1978' order by ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 11:03:25 Duration: 8s737ms 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 = cc.id_componente_curricular) as flg_ministrado, exists ( select null from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado where poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ts.id_turma and pbo.id_serie = ts.id_serie and pbo.id_disciplina = cc.id_disciplina) as flg_planejado from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240002955' and ts.id_serie = '1722' and cc.id_disciplina = '1403' order by ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 10:21:21 Duration: 8s278ms Bind query: yes
8 801 11m1s 500ms 3s889ms 825ms select sda.id_situacao_didatica_aula, sda.id_turma, sda.id_serie, sda.id_componente_curricular, sda.data, sda.id_horario_turma, sda.numero_aula, sda.id_quinzena_ano, sda.data_atualizacao from situacao_didatica_aula sda inner join turma t on t.id_turma = sda.id_turma left join componente_curricular cc on cc.id_componente_curricular = sda.id_componente_curricular where sda.id_turma in (...) and exists ( select null from turma_professor tp where tp.id_cidadao = ? and tp.id_turma = sda.id_turma and (cc.id_componente_curricular = tp.id_componente_curricular or cc.id_componente_curricular is null)) and exists ( select null from registro_lancamento_conteudo_diario rd where rd.id_turma = sda.id_turma and (rd.id_componente_curricular = sda.id_componente_curricular or rd.id_componente_curricular = ?) and rd.data_referencia = sda.data and rd.data_atualizacao > ? and t.id_periodicidade_conteudo in (...) union all select null from registro_lancamento_conteudo_quinzenal rq where rq.id_turma = sda.id_turma and (rq.id_componente_curricular = sda.id_componente_curricular or rq.id_componente_curricular = ?) and rq.id_quinzena_ano = sda.id_quinzena_ano and rq.data_atualizacao > ? and t.id_periodicidade_conteudo = ?);Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Dec 16 07 23 15s309ms 665ms 08 313 4m8s 793ms 09 180 2m38s 879ms 10 218 3m5s 851ms 11 67 53s656ms 800ms -
select sda.id_situacao_didatica_aula, sda.id_turma, sda.id_serie, sda.id_componente_curricular, sda.data, sda.id_horario_turma, sda.numero_aula, sda.id_quinzena_ano, sda.data_atualizacao from situacao_didatica_aula sda inner join turma t on t.id_turma = sda.id_turma left join componente_curricular cc on cc.id_componente_curricular = sda.id_componente_curricular where sda.id_turma in ('240010324', '240010326', '240010327', '240010331', '240010333', '240010360', '240010361', '240014980', '240014981', '240014985', '240014987') and exists ( select null from turma_professor tp where tp.id_cidadao = '2237388' and tp.id_turma = sda.id_turma and (cc.id_componente_curricular = tp.id_componente_curricular or cc.id_componente_curricular is null)) and exists ( select null from registro_lancamento_conteudo_diario rd where rd.id_turma = sda.id_turma and (rd.id_componente_curricular = sda.id_componente_curricular or rd.id_componente_curricular = 0) and rd.data_referencia = sda.data and rd.data_atualizacao > '2024-12-16 08:27:58.83' and t.id_periodicidade_conteudo in (1, 2, 4) union all select null from registro_lancamento_conteudo_quinzenal rq where rq.id_turma = sda.id_turma and (rq.id_componente_curricular = sda.id_componente_curricular or rq.id_componente_curricular = 0) and rq.id_quinzena_ano = sda.id_quinzena_ano and rq.data_atualizacao > '2024-12-16 08:27:58.83' and t.id_periodicidade_conteudo = 3);
Date: 2024-12-16 08:56:58 Duration: 3s889ms Bind query: yes
-
select sda.id_situacao_didatica_aula, sda.id_turma, sda.id_serie, sda.id_componente_curricular, sda.data, sda.id_horario_turma, sda.numero_aula, sda.id_quinzena_ano, sda.data_atualizacao from situacao_didatica_aula sda inner join turma t on t.id_turma = sda.id_turma left join componente_curricular cc on cc.id_componente_curricular = sda.id_componente_curricular where sda.id_turma in ('240009451', '240009452', '240009453', '240009455', '240009456', '240009458', '240009459', '240009460') and exists ( select null from turma_professor tp where tp.id_cidadao = '1713365' and tp.id_turma = sda.id_turma and (cc.id_componente_curricular = tp.id_componente_curricular or cc.id_componente_curricular is null)) and exists ( select null from registro_lancamento_conteudo_diario rd where rd.id_turma = sda.id_turma and (rd.id_componente_curricular = sda.id_componente_curricular or rd.id_componente_curricular = 0) and rd.data_referencia = sda.data and rd.data_atualizacao > '2024-12-13 14:34:31.528' and t.id_periodicidade_conteudo in (1, 2, 4) union all select null from registro_lancamento_conteudo_quinzenal rq where rq.id_turma = sda.id_turma and (rq.id_componente_curricular = sda.id_componente_curricular or rq.id_componente_curricular = 0) and rq.id_quinzena_ano = sda.id_quinzena_ano and rq.data_atualizacao > '2024-12-13 14:34:31.528' and t.id_periodicidade_conteudo = 3);
Date: 2024-12-16 09:26:36 Duration: 3s527ms Bind query: yes
-
select sda.id_situacao_didatica_aula, sda.id_turma, sda.id_serie, sda.id_componente_curricular, sda.data, sda.id_horario_turma, sda.numero_aula, sda.id_quinzena_ano, sda.data_atualizacao from situacao_didatica_aula sda inner join turma t on t.id_turma = sda.id_turma left join componente_curricular cc on cc.id_componente_curricular = sda.id_componente_curricular where sda.id_turma in ('240011037', '240011038', '240011177', '240011179', '240011182', '240020264', '240020968') and exists ( select null from turma_professor tp where tp.id_cidadao = '1928728' and tp.id_turma = sda.id_turma and (cc.id_componente_curricular = tp.id_componente_curricular or cc.id_componente_curricular is null)) and exists ( select null from registro_lancamento_conteudo_diario rd where rd.id_turma = sda.id_turma and (rd.id_componente_curricular = sda.id_componente_curricular or rd.id_componente_curricular = 0) and rd.data_referencia = sda.data and rd.data_atualizacao > '2024-12-16 09:21:35.347' and t.id_periodicidade_conteudo in (1, 2, 4) union all select null from registro_lancamento_conteudo_quinzenal rq where rq.id_turma = sda.id_turma and (rq.id_componente_curricular = sda.id_componente_curricular or rq.id_componente_curricular = 0) and rq.id_quinzena_ano = sda.id_quinzena_ano and rq.data_atualizacao > '2024-12-16 09:21:35.347' and t.id_periodicidade_conteudo = 3);
Date: 2024-12-16 09:22:13 Duration: 3s244ms Bind query: yes
9 774 14m32s 501ms 6s953ms 1s127ms select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, pb.flg_aprovacao_professor is true as flg_aprovacao_professor, pb.flg_aprovacao_diretor is true as flg_aprovacao_diretor, pb.flg_aprovacao_secretario is true as flg_aprovacao_secretario, oc.id_organizador_curricular, oc.flg_componente_curricular as organizador_por_componente_curricular from turma t inner join turma_serie ts using (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 a on a.id_ano_semestre = t.id_ano_semestre inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = ts.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) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular and cc.flg_planejamento_bimestral is true left join disciplina d on d.id_disciplina = cc.id_disciplina left join planejamento_bimestral_organizado pb on t.id_turma = pb.id_turma and (pb.id_disciplina is null or cc.id_disciplina = pb.id_disciplina) and ts.id_serie = pb.id_serie and pb.id_nota_periodo_aluno = bimestre_para_periodo (?, curso.serie_duracao = ?, curso.id_periodicidade_apontamento = ?) where t.id_turma in (...) and (oc.flg_componente_curricular is false or cc.id_componente_curricular notnull);Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Dec 16 01 12 7s611ms 634ms 02 1 503ms 503ms 04 5 4s153ms 830ms 06 6 3s120ms 520ms 07 78 1m 774ms 08 183 3m28s 1s140ms 09 147 3m31s 1s438ms 10 265 4m38s 1s49ms 11 77 1m38s 1s276ms -
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, pb.flg_aprovacao_professor is true as flg_aprovacao_professor, pb.flg_aprovacao_diretor is true as flg_aprovacao_diretor, pb.flg_aprovacao_secretario is true as flg_aprovacao_secretario, oc.id_organizador_curricular, oc.flg_componente_curricular as organizador_por_componente_curricular from turma t inner join turma_serie ts using (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 a on a.id_ano_semestre = t.id_ano_semestre inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = ts.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) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular and cc.flg_planejamento_bimestral is true left join disciplina d on d.id_disciplina = cc.id_disciplina left join planejamento_bimestral_organizado pb on t.id_turma = pb.id_turma and (pb.id_disciplina is null or cc.id_disciplina = pb.id_disciplina) and ts.id_serie = pb.id_serie and pb.id_nota_periodo_aluno = bimestre_para_periodo ('4', curso.serie_duracao = 2, curso.id_periodicidade_apontamento = 3) where t.id_turma in ('240005267', '240005270') and (oc.flg_componente_curricular is false or cc.id_componente_curricular notnull);
Date: 2024-12-16 09:57:34 Duration: 6s953ms Bind query: yes
-
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, pb.flg_aprovacao_professor is true as flg_aprovacao_professor, pb.flg_aprovacao_diretor is true as flg_aprovacao_diretor, pb.flg_aprovacao_secretario is true as flg_aprovacao_secretario, oc.id_organizador_curricular, oc.flg_componente_curricular as organizador_por_componente_curricular from turma t inner join turma_serie ts using (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 a on a.id_ano_semestre = t.id_ano_semestre inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = ts.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) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular and cc.flg_planejamento_bimestral is true left join disciplina d on d.id_disciplina = cc.id_disciplina left join planejamento_bimestral_organizado pb on t.id_turma = pb.id_turma and (pb.id_disciplina is null or cc.id_disciplina = pb.id_disciplina) and ts.id_serie = pb.id_serie and pb.id_nota_periodo_aluno = bimestre_para_periodo ('3', curso.serie_duracao = 2, curso.id_periodicidade_apontamento = 3) where t.id_turma in ('240005267', '240005270') and (oc.flg_componente_curricular is false or cc.id_componente_curricular notnull);
Date: 2024-12-16 09:57:17 Duration: 6s520ms Bind query: yes
-
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, pb.flg_aprovacao_professor is true as flg_aprovacao_professor, pb.flg_aprovacao_diretor is true as flg_aprovacao_diretor, pb.flg_aprovacao_secretario is true as flg_aprovacao_secretario, oc.id_organizador_curricular, oc.flg_componente_curricular as organizador_por_componente_curricular from turma t inner join turma_serie ts using (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 a on a.id_ano_semestre = t.id_ano_semestre inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = ts.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) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular and cc.flg_planejamento_bimestral is true left join disciplina d on d.id_disciplina = cc.id_disciplina left join planejamento_bimestral_organizado pb on t.id_turma = pb.id_turma and (pb.id_disciplina is null or cc.id_disciplina = pb.id_disciplina) and ts.id_serie = pb.id_serie and pb.id_nota_periodo_aluno = bimestre_para_periodo ('1', curso.serie_duracao = 2, curso.id_periodicidade_apontamento = 3) where t.id_turma in ('240009586', '240013275') and (oc.flg_componente_curricular is false or cc.id_componente_curricular notnull);
Date: 2024-12-16 09:35:00 Duration: 6s406ms Bind query: yes
10 632 1h19m6s 2s668ms 50s562ms 7s510ms 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 #10
Day Hour Count Duration Avg duration Dec 16 06 11 30s556ms 2s777ms 07 100 7m 4s203ms 08 162 19m19s 7s158ms 09 126 16m9s 7s693ms 10 149 24m 9s669ms 11 84 12m5s 8s642ms -
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 = '240001204' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '1306' 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: 2024-12-16 10:51:48 Duration: 50s562ms 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 = '240003608' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '21886' 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: 2024-12-16 11:03:28 Duration: 33s614ms 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 = '240001165' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '1227' 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: 2024-12-16 11:03:28 Duration: 32s35ms Bind query: yes
11 594 9m11s 500ms 4s51ms 928ms select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = ? left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula in ( select a.id_conteudo_organizado_aula from conteudo_organizado_aula_conteudo a inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = a.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula inner join componente_curricular on componente_curricular.id_componente_curricular = sda.id_componente_curricular where sda.id_turma = ? and sda.id_serie = ? and componente_curricular.id_disciplina = ?) left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = ? where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = ? and ts.id_serie = ? and cc.id_disciplina = ? order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Dec 16 00 1 1s133ms 1s133ms 01 1 1s5ms 1s5ms 07 5 3s381ms 676ms 08 142 2m2s 861ms 09 162 2m34s 951ms 10 213 3m25s 964ms 11 70 1m4s 917ms -
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = '0' left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula in ( select a.id_conteudo_organizado_aula from conteudo_organizado_aula_conteudo a inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = a.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula inner join componente_curricular on componente_curricular.id_componente_curricular = sda.id_componente_curricular where sda.id_turma = '240009479' and sda.id_serie = '1985' and componente_curricular.id_disciplina = '1835') left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240009479' and ts.id_serie = '1985' and cc.id_disciplina = '1835' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 10:33:54 Duration: 4s51ms Bind query: yes
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = '0' left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula in ( select a.id_conteudo_organizado_aula from conteudo_organizado_aula_conteudo a inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = a.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula inner join componente_curricular on componente_curricular.id_componente_curricular = sda.id_componente_curricular where sda.id_turma = '240009509' and sda.id_serie = '2003' and componente_curricular.id_disciplina = '1839') left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240009509' and ts.id_serie = '2003' and cc.id_disciplina = '1839' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 10:33:51 Duration: 3s305ms Bind query: yes
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = '0' left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula in ( select a.id_conteudo_organizado_aula from conteudo_organizado_aula_conteudo a inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = a.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula inner join componente_curricular on componente_curricular.id_componente_curricular = sda.id_componente_curricular where sda.id_turma = '240014594' and sda.id_serie = '2233' and componente_curricular.id_disciplina = '2175') left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240014594' and ts.id_serie = '2233' and cc.id_disciplina = '2175' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 10:40:01 Duration: 3s234ms Bind query: yes
12 545 6m56s 500ms 5s745ms 763ms select distinct poe.id_planejamento_bimestral_organizado, poe.id_eixo_organizador_curricular, poe.id_opcao_eixo_organizador, poe.expressao_aval_livre, valor_numerico, poe.justificativa from planejamento_organizado_eixo poe inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poe.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = ? and turma.flg_organizada is true and pbo.id_turma in (...) and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = ? and tp.id_turma in (...) and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Dec 16 00 1 871ms 871ms 07 28 23s487ms 838ms 08 176 2m10s 742ms 09 154 1m58s 767ms 10 139 1m44s 751ms 11 47 38s218ms 813ms -
select distinct poe.id_planejamento_bimestral_organizado, poe.id_eixo_organizador_curricular, poe.id_opcao_eixo_organizador, poe.expressao_aval_livre, valor_numerico, poe.justificativa from planejamento_organizado_eixo poe inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poe.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('240011037', '240011038', '240011177', '240011179', '240011182', '240020264', '240020968') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '1928728' and tp.id_turma in ('240011037', '240011038', '240011177', '240011179', '240011182', '240020264', '240020968') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2024-12-16 09:22:21 Duration: 5s745ms Bind query: yes
-
select distinct poe.id_planejamento_bimestral_organizado, poe.id_eixo_organizador_curricular, poe.id_opcao_eixo_organizador, poe.expressao_aval_livre, valor_numerico, poe.justificativa from planejamento_organizado_eixo poe inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poe.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('240015740') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '1915318' and tp.id_turma in ('240015740') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2024-12-16 09:34:21 Duration: 3s183ms Bind query: yes
-
select distinct poe.id_planejamento_bimestral_organizado, poe.id_eixo_organizador_curricular, poe.id_opcao_eixo_organizador, poe.expressao_aval_livre, valor_numerico, poe.justificativa from planejamento_organizado_eixo poe inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poe.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('240016810') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2284028' and tp.id_turma in ('240016810') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2024-12-16 11:27:46 Duration: 2s598ms Bind query: yes
13 529 6m53s 500ms 2s941ms 782ms select distinct pott.id_planejamento_bimestral_organizado, pott.id_tema_transversal from planejamento_organizado_tema_transversal pott inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = pott.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = ? and turma.flg_organizada is true and pbo.id_turma in (...) and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = ? and tp.id_turma in (...) and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Dec 16 00 3 1s884ms 628ms 02 1 1s181ms 1s181ms 07 18 14s857ms 825ms 08 174 2m17s 791ms 09 151 2m 800ms 10 141 1m46s 755ms 11 41 30s928ms 754ms -
select distinct pott.id_planejamento_bimestral_organizado, pott.id_tema_transversal from planejamento_organizado_tema_transversal pott inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = pott.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('240003569') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2014909' and tp.id_turma in ('240003569') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2024-12-16 08:33:20 Duration: 2s941ms Bind query: yes
-
select distinct pott.id_planejamento_bimestral_organizado, pott.id_tema_transversal from planejamento_organizado_tema_transversal pott inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = pott.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('240003435', '240003445', '240003453', '240005115', '240005120', '240005126', '240020159', '240020160', '240020165') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2014121' and tp.id_turma in ('240003435', '240003445', '240003453', '240005115', '240005120', '240005126', '240020159', '240020160', '240020165') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2024-12-16 11:27:46 Duration: 2s602ms Bind query: yes
-
select distinct pott.id_planejamento_bimestral_organizado, pott.id_tema_transversal from planejamento_organizado_tema_transversal pott inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = pott.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('240004645') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '1895355' and tp.id_turma in ('240004645') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2024-12-16 09:09:50 Duration: 2s187ms Bind query: yes
14 477 5m49s 500ms 2s761ms 732ms select distinct pbo.id_planejamento_bimestral_organizado, pbo.id_turma, pbo.id_serie, pbo.id_nota_periodo_aluno, pbo.id_disciplina, pbo.flg_aprovacao_professor, pbo.flg_aprovacao_diretor, pbo.flg_aprovacao_secretario, pbo.data_inclusao, pbo.data_atualizacao, pbo.data_alteracao_planejamento from planejamento_bimestral_organizado pbo inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = ? and turma.flg_organizada is true and pbo.id_turma in (...) and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = ? and tp.id_turma in (...) and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Dec 16 00 1 969ms 969ms 02 1 500ms 500ms 07 19 16s80ms 846ms 08 157 1m56s 740ms 09 151 1m50s 732ms 10 106 1m14s 701ms 11 42 30s445ms 724ms -
select distinct pbo.id_planejamento_bimestral_organizado, pbo.id_turma, pbo.id_serie, pbo.id_nota_periodo_aluno, pbo.id_disciplina, pbo.flg_aprovacao_professor, pbo.flg_aprovacao_diretor, pbo.flg_aprovacao_secretario, pbo.data_inclusao, pbo.data_atualizacao, pbo.data_alteracao_planejamento from planejamento_bimestral_organizado pbo inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('240004157', '240004172', '240004175') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '1491817' and tp.id_turma in ('240004157', '240004172', '240004175') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2024-12-16 07:41:25 Duration: 2s761ms Bind query: yes
-
select distinct pbo.id_planejamento_bimestral_organizado, pbo.id_turma, pbo.id_serie, pbo.id_nota_periodo_aluno, pbo.id_disciplina, pbo.flg_aprovacao_professor, pbo.flg_aprovacao_diretor, pbo.flg_aprovacao_secretario, pbo.data_inclusao, pbo.data_atualizacao, pbo.data_alteracao_planejamento from planejamento_bimestral_organizado pbo inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('240000122', '240000123', '240000124', '240000125', '240000127', '240000128', '240000129') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2376752' and tp.id_turma in ('240000122', '240000123', '240000124', '240000125', '240000127', '240000128', '240000129') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2024-12-16 09:57:58 Duration: 2s311ms Bind query: yes
-
select distinct pbo.id_planejamento_bimestral_organizado, pbo.id_turma, pbo.id_serie, pbo.id_nota_periodo_aluno, pbo.id_disciplina, pbo.flg_aprovacao_professor, pbo.flg_aprovacao_diretor, pbo.flg_aprovacao_secretario, pbo.data_inclusao, pbo.data_atualizacao, pbo.data_alteracao_planejamento from planejamento_bimestral_organizado pbo inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('240011414') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '1925442' and tp.id_turma in ('240011414') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2024-12-16 08:34:03 Duration: 2s57ms Bind query: yes
15 448 5m38s 500ms 2s514ms 756ms select distinct poc.id_planejamento_bimestral_organizado, poc.id_conteudo_matriz_conteudo from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = ? and turma.flg_organizada is true and pbo.id_turma in (...) and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular where tp.id_cidadao = ? and tp.id_turma in (...) and (cc.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Dec 16 00 2 1s454ms 727ms 02 1 1s5ms 1s5ms 07 20 17s465ms 873ms 08 142 1m46s 753ms 09 129 1m38s 761ms 10 111 1m18s 708ms 11 43 35s20ms 814ms -
select distinct poc.id_planejamento_bimestral_organizado, poc.id_conteudo_matriz_conteudo from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('240002705', '240002706', '240002714', '240002718') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular where tp.id_cidadao = '2201286' and tp.id_turma in ('240002705', '240002706', '240002714', '240002718') and (cc.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2024-12-16 08:33:20 Duration: 2s514ms Bind query: yes
-
select distinct poc.id_planejamento_bimestral_organizado, poc.id_conteudo_matriz_conteudo from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('240000122', '240000123', '240000127') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular where tp.id_cidadao = '1740207' and tp.id_turma in ('240000122', '240000123', '240000127') and (cc.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2024-12-16 11:03:47 Duration: 2s192ms Bind query: yes
-
select distinct poc.id_planejamento_bimestral_organizado, poc.id_conteudo_matriz_conteudo from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('240000122', '240000123', '240000124', '240000125', '240000127', '240000128', '240000129') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular where tp.id_cidadao = '2376752' and tp.id_turma in ('240000122', '240000123', '240000124', '240000125', '240000127', '240000128', '240000129') and (cc.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2024-12-16 09:57:38 Duration: 2s135ms Bind query: yes
16 436 34m7s 504ms 1m9s 4s695ms select f.id_aluno_matricula, f.id_disciplina, f.data, to_char(f.data, ?) as data_formatada, f.id_horario_turma, f.flg_justificada, upper(m.sigla) as motivo from falta_aluno_disciplina_diario f inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = f.id_aluno_matricula left join motivo_falta_justificada m on m.id_motivo_falta_justificada = f.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.data <= coalesce(a.data_primeira_saida, f.data) and rfdd.flg_concluido is true union select fh.id_aluno_matricula, fh.id_disciplina, fh.data, to_char(fh.data, ?) as data_formatada, fh.id_horario_turma, fh.flg_justificada, coalesce(fh.descricao_motivo_falta_justificada, upper(mh.sigla)) as motivo from aluno_lancamento.falta_aluno_disciplina_diario_hist fh inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = fh.id_aluno_matricula left join motivo_falta_justificada mh on mh.id_motivo_falta_justificada = fh.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = fh.id_turma and rfdd.id_disciplina = fh.id_disciplina and rfdd.data_referencia = fh.data where fh.data <= coalesce(a.data_primeira_saida, fh.data) and rfdd.flg_concluido is true order by id_aluno_matricula, id_disciplina, data;Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Dec 16 06 1 1s939ms 1s939ms 07 43 1m11s 1s661ms 08 104 8m22s 4s833ms 09 164 15m40s 5s732ms 10 66 4m48s 4s372ms 11 58 4m2s 4s182ms -
select f.id_aluno_matricula, f.id_disciplina, f.data, to_char(f.data, 'DD/MM/YYYY') as data_formatada, f.id_horario_turma, f.flg_justificada, upper(m.sigla) as motivo from falta_aluno_disciplina_diario f inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = f.id_aluno_matricula left join motivo_falta_justificada m on m.id_motivo_falta_justificada = f.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.data <= coalesce(a.data_primeira_saida, f.data) and rfdd.flg_concluido is true union select fh.id_aluno_matricula, fh.id_disciplina, fh.data, to_char(fh.data, 'DD/MM/YYYY') as data_formatada, fh.id_horario_turma, fh.flg_justificada, coalesce(fh.descricao_motivo_falta_justificada, upper(mh.sigla)) as motivo from aluno_lancamento.falta_aluno_disciplina_diario_hist fh inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = fh.id_aluno_matricula left join motivo_falta_justificada mh on mh.id_motivo_falta_justificada = fh.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = fh.id_turma and rfdd.id_disciplina = fh.id_disciplina and rfdd.data_referencia = fh.data where fh.data <= coalesce(a.data_primeira_saida, fh.data) and rfdd.flg_concluido is true order by id_aluno_matricula, id_disciplina, data;
Date: 2024-12-16 08:45:44 Duration: 1m9s Bind query: yes
-
select f.id_aluno_matricula, f.id_disciplina, f.data, to_char(f.data, 'DD/MM/YYYY') as data_formatada, f.id_horario_turma, f.flg_justificada, upper(m.sigla) as motivo from falta_aluno_disciplina_diario f inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = f.id_aluno_matricula left join motivo_falta_justificada m on m.id_motivo_falta_justificada = f.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.data <= coalesce(a.data_primeira_saida, f.data) and rfdd.flg_concluido is true union select fh.id_aluno_matricula, fh.id_disciplina, fh.data, to_char(fh.data, 'DD/MM/YYYY') as data_formatada, fh.id_horario_turma, fh.flg_justificada, coalesce(fh.descricao_motivo_falta_justificada, upper(mh.sigla)) as motivo from aluno_lancamento.falta_aluno_disciplina_diario_hist fh inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = fh.id_aluno_matricula left join motivo_falta_justificada mh on mh.id_motivo_falta_justificada = fh.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = fh.id_turma and rfdd.id_disciplina = fh.id_disciplina and rfdd.data_referencia = fh.data where fh.data <= coalesce(a.data_primeira_saida, fh.data) and rfdd.flg_concluido is true order by id_aluno_matricula, id_disciplina, data;
Date: 2024-12-16 08:58:56 Duration: 50s192ms Bind query: yes
-
select f.id_aluno_matricula, f.id_disciplina, f.data, to_char(f.data, 'DD/MM/YYYY') as data_formatada, f.id_horario_turma, f.flg_justificada, upper(m.sigla) as motivo from falta_aluno_disciplina_diario f inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = f.id_aluno_matricula left join motivo_falta_justificada m on m.id_motivo_falta_justificada = f.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.data <= coalesce(a.data_primeira_saida, f.data) and rfdd.flg_concluido is true union select fh.id_aluno_matricula, fh.id_disciplina, fh.data, to_char(fh.data, 'DD/MM/YYYY') as data_formatada, fh.id_horario_turma, fh.flg_justificada, coalesce(fh.descricao_motivo_falta_justificada, upper(mh.sigla)) as motivo from aluno_lancamento.falta_aluno_disciplina_diario_hist fh inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = fh.id_aluno_matricula left join motivo_falta_justificada mh on mh.id_motivo_falta_justificada = fh.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = fh.id_turma and rfdd.id_disciplina = fh.id_disciplina and rfdd.data_referencia = fh.data where fh.data <= coalesce(a.data_primeira_saida, fh.data) and rfdd.flg_concluido is true order by id_aluno_matricula, id_disciplina, data;
Date: 2024-12-16 09:34:45 Duration: 38s608ms Bind query: yes
17 429 5m49s 500ms 5s663ms 815ms select * from registro_lancamento_plano_aula r where r.id_turma = ? and r.id_serie = ? and r.data_aula = ? and r.id_horario_turma = ? and r.id_componente_curricular = ?;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Dec 16 07 9 7s578ms 842ms 08 54 52s544ms 973ms 09 98 1m21s 832ms 10 163 1m48s 667ms 11 105 1m39s 943ms -
select * from registro_lancamento_plano_aula r where r.id_turma = '240019759' and r.id_serie = '1970' and r.data_aula = '2024-10-31' and r.id_horario_turma = '22' and r.id_componente_curricular = '45878';
Date: 2024-12-16 11:04:35 Duration: 5s663ms Bind query: yes
-
select * from registro_lancamento_plano_aula r where r.id_turma = '240019759' and r.id_serie = '1970' and r.data_aula = '2024-10-22' and r.id_horario_turma = '108' and r.id_componente_curricular = '45882';
Date: 2024-12-16 11:03:29 Duration: 2s807ms Bind query: yes
-
select * from registro_lancamento_plano_aula r where r.id_turma = '240019759' and r.id_serie = '1970' and r.data_aula = '2024-10-22' and r.id_horario_turma = '385' and r.id_componente_curricular = '45886';
Date: 2024-12-16 11:03:11 Duration: 2s522ms Bind query: yes
18 418 13m34s 502ms 21s984ms 1s948ms select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, (faltas_mes_ate_atual - faltas_mes)::int as faltas_anteriores, faltas_mes::int as faltas_mes, faltas_mes_ate_atual::int as faltas_total from ( select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, faltas_anteriores, faltas_mes, faltas_anteriores + (sum(faltas_mes) over (partition by id_aluno_matricula, chamada, id_disciplina order by ano, id_mes)) as faltas_mes_ate_atual from ( select ts.id_turma, a.id_aluno_matricula, a.chamada, cc.id_disciplina, amdd.id_motivo_dispensa_disciplina notnull or mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(to_char(f.data, ? || f.id_horario_turma)) from falta_aluno_disciplina_diario f inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.id_turma = ts.id_turma and f.id_disciplina = cc.id_disciplina and f.id_aluno_matricula = a.id_aluno_matricula and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfdd.flg_concluido is true), ?)::int as faltas_mes, coalesce(( select sum(coalesce(falta_justificada, ?) + coalesce(falta_nao_justificada, ?)) from falta_anterior_aluno_disciplina fa where fa.id_aluno_matricula = a.id_aluno_matricula and fa.id_disciplina = cc.id_disciplina), ?)::int as faltas_anteriores from turma_serie ts inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = ? left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = ? and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between ? and ? or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = a.id_aluno_matricula and amdd.id_turma = ts.id_turma and amdd.id_disciplina = cc.id_disciplina and (m.id_nota_periodo_aluno = any (amdd.periodos) or amdd.flg_dispensado_todos_periodos) left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = ? and ts.id_serie = ? and cc.flg_aponta_faltas) t) x order by id_aluno_matricula, id_disciplina, ano, id_mes;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Dec 16 06 1 594ms 594ms 07 33 32s619ms 988ms 08 103 3m31s 2s57ms 09 153 5m16s 2s70ms 10 75 2m29s 1s991ms 11 53 1m43s 1s949ms -
select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, (faltas_mes_ate_atual - faltas_mes)::int as faltas_anteriores, --as faltas do mês do diário faltas_mes::int as faltas_mes, -- total: total mês atual faltas_mes_ate_atual::int as faltas_total from ( select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, faltas_anteriores, faltas_mes, faltas_anteriores + (sum(faltas_mes) over (partition by id_aluno_matricula, chamada, id_disciplina order by ano, id_mes)) as faltas_mes_ate_atual from ( select ts.id_turma, a.id_aluno_matricula, a.chamada, cc.id_disciplina, amdd.id_motivo_dispensa_disciplina notnull or mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, -- faltas diárias do mês nessa turma coalesce(( select count(to_char(f.data, 'YYYY-MM-DD' || f.id_horario_turma)) from falta_aluno_disciplina_diario f inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.id_turma = ts.id_turma and f.id_disciplina = cc.id_disciplina and f.id_aluno_matricula = a.id_aluno_matricula and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfdd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_disciplina fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula and fa.id_disciplina = cc.id_disciplina), 0)::int as faltas_anteriores from turma_serie ts inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '240001133' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '1134' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de componente left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = a.id_aluno_matricula and amdd.id_turma = ts.id_turma and amdd.id_disciplina = cc.id_disciplina and (m.id_nota_periodo_aluno = any (amdd.periodos) or amdd.flg_dispensado_todos_periodos) -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = '240001133' and ts.id_serie = '104' and cc.flg_aponta_faltas) t) x order by id_aluno_matricula, id_disciplina, ano, id_mes;
Date: 2024-12-16 08:40:39 Duration: 21s984ms Bind query: yes
-
select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, (faltas_mes_ate_atual - faltas_mes)::int as faltas_anteriores, --as faltas do mês do diário faltas_mes::int as faltas_mes, -- total: total mês atual faltas_mes_ate_atual::int as faltas_total from ( select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, faltas_anteriores, faltas_mes, faltas_anteriores + (sum(faltas_mes) over (partition by id_aluno_matricula, chamada, id_disciplina order by ano, id_mes)) as faltas_mes_ate_atual from ( select ts.id_turma, a.id_aluno_matricula, a.chamada, cc.id_disciplina, amdd.id_motivo_dispensa_disciplina notnull or mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, -- faltas diárias do mês nessa turma coalesce(( select count(to_char(f.data, 'YYYY-MM-DD' || f.id_horario_turma)) from falta_aluno_disciplina_diario f inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.id_turma = ts.id_turma and f.id_disciplina = cc.id_disciplina and f.id_aluno_matricula = a.id_aluno_matricula and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfdd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_disciplina fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula and fa.id_disciplina = cc.id_disciplina), 0)::int as faltas_anteriores from turma_serie ts inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '240001821' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '1168' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de componente left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = a.id_aluno_matricula and amdd.id_turma = ts.id_turma and amdd.id_disciplina = cc.id_disciplina and (m.id_nota_periodo_aluno = any (amdd.periodos) or amdd.flg_dispensado_todos_periodos) -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = '240001821' and ts.id_serie = '102' and cc.flg_aponta_faltas) t) x order by id_aluno_matricula, id_disciplina, ano, id_mes;
Date: 2024-12-16 11:27:54 Duration: 14s988ms Bind query: yes
-
select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, (faltas_mes_ate_atual - faltas_mes)::int as faltas_anteriores, --as faltas do mês do diário faltas_mes::int as faltas_mes, -- total: total mês atual faltas_mes_ate_atual::int as faltas_total from ( select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, faltas_anteriores, faltas_mes, faltas_anteriores + (sum(faltas_mes) over (partition by id_aluno_matricula, chamada, id_disciplina order by ano, id_mes)) as faltas_mes_ate_atual from ( select ts.id_turma, a.id_aluno_matricula, a.chamada, cc.id_disciplina, amdd.id_motivo_dispensa_disciplina notnull or mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, -- faltas diárias do mês nessa turma coalesce(( select count(to_char(f.data, 'YYYY-MM-DD' || f.id_horario_turma)) from falta_aluno_disciplina_diario f inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.id_turma = ts.id_turma and f.id_disciplina = cc.id_disciplina and f.id_aluno_matricula = a.id_aluno_matricula and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfdd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_disciplina fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula and fa.id_disciplina = cc.id_disciplina), 0)::int as faltas_anteriores from turma_serie ts inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '240019481' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '21827' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de componente left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = a.id_aluno_matricula and amdd.id_turma = ts.id_turma and amdd.id_disciplina = cc.id_disciplina and (m.id_nota_periodo_aluno = any (amdd.periodos) or amdd.flg_dispensado_todos_periodos) -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = '240019481' and ts.id_serie = '2194' and cc.flg_aponta_faltas) t) x order by id_aluno_matricula, id_disciplina, ano, id_mes;
Date: 2024-12-16 09:09:25 Duration: 11s418ms Bind query: yes
19 401 5m6s 500ms 2s239ms 764ms select poaa.id_planejamento_bimestral_organizado, poaa.id_atividade_avaliativa, poaa.id_instrumento_avaliativo, poaa.outro from planejamento_organizado_atividade_avaliativa poaa inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poaa.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = ? and turma.flg_organizada is true and pbo.id_turma in (...) and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = ? and tp.id_turma in (...) and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Dec 16 00 2 1s74ms 537ms 07 21 15s434ms 734ms 08 131 1m39s 757ms 09 118 1m30s 770ms 10 94 1m10s 753ms 11 35 29s164ms 833ms -
select poaa.id_planejamento_bimestral_organizado, poaa.id_atividade_avaliativa, poaa.id_instrumento_avaliativo, poaa.outro from planejamento_organizado_atividade_avaliativa poaa inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poaa.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('240007589', '240007590', '240007592', '240007595') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '1774660' and tp.id_turma in ('240007589', '240007590', '240007592', '240007595') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2024-12-16 11:04:03 Duration: 2s239ms Bind query: yes
-
select poaa.id_planejamento_bimestral_organizado, poaa.id_atividade_avaliativa, poaa.id_instrumento_avaliativo, poaa.outro from planejamento_organizado_atividade_avaliativa poaa inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poaa.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('240005990') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '1407831' and tp.id_turma in ('240005990') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2024-12-16 10:23:54 Duration: 2s68ms Bind query: yes
-
select poaa.id_planejamento_bimestral_organizado, poaa.id_atividade_avaliativa, poaa.id_instrumento_avaliativo, poaa.outro from planejamento_organizado_atividade_avaliativa poaa inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poaa.id_planejamento_bimestral_organizado inner join turma on turma.id_turma = pbo.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and pbo.id_turma in ('240002446', '240002449', '240002451', '240002452', '240002453', '240002454') and exists ( select null from turma_professor tp inner join componente_curricular cc on cc.id_componente_curricular = tp.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tp.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tp.id_cidadao = '2012161' and tp.id_turma in ('240002446', '240002449', '240002451', '240002452', '240002453', '240002454') and (d.id_disciplina = pbo.id_disciplina or pbo.id_disciplina is null));
Date: 2024-12-16 09:57:38 Duration: 1s975ms Bind query: yes
20 391 6m29s 500ms 14s338ms 996ms select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, case when count( case when id_situacao_didatica_aula is null then ? else null end) > ? then true else false end as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = ? left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = ? inner join calendario_periodo_data cpd on cpd.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cpd.bimestre = ? inner join dia_semana ds on ds.dia_semana = cpd.dia_semana left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data inner join quadro_horario_homologado q on q.id_turma = t.id_turma and q.id_componente_curricular = cc.id_componente_curricular and q.dia_semana = cpd.dia_semana left join situacao_didatica_aula sda on sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data = cpd.data and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and ((t.id_periodicidade_conteudo = ? and t.flg_conteudo_diario_conforme_quadro) or sda.id_horario_turma = q.id_horario_turma) where t.id_turma in (...) and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and (q.data_inicio_vigencia is null or q.data_inicio_vigencia <= cpd.data) and (q.data_termino_vigencia is null or q.data_termino_vigencia >= cpd.data) and cpd.data not in ( select acht.data from adequacao_carga_horaria_turma acht where acht.id_turma = t.id_turma and acht.id_tipo_adequacao_carga_horaria = ?) and cd.id_motivo_dia_nao_letivo is null and (not ds.flg_fim_de_semana or cd.id_motivo_dia_letivo_extra is not null) and (t.id_periodicidade_conteudo in (...) or (t.id_periodicidade_conteudo = ? and t.flg_conteudo_diario_conforme_quadro) or cc.flg_aponta_conteudo_curricular is false) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular union select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, bool_or(not exists ( select null from situacao_didatica_aula sda where sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data = cpd.data and sda.id_horario_turma is null)) as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = ? left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = ? inner join calendario_periodo_data cpd on cpd.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cpd.bimestre = ? inner join dia_semana ds on ds.dia_semana = cpd.dia_semana left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data where t.id_turma in (...) and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and cpd.data not in ( select acht.data from adequacao_carga_horaria_turma acht where acht.id_turma = t.id_turma and acht.id_tipo_adequacao_carga_horaria = ?) and cd.id_motivo_dia_nao_letivo is null and (not ds.flg_fim_de_semana or cd.id_motivo_dia_letivo_extra is not null) and t.id_periodicidade_conteudo = ? and not t.flg_conteudo_diario_conforme_quadro and cc.flg_aponta_conteudo_curricular group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular union select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, case when count( case when id_situacao_didatica_aula is null then ? else null end) > ? then true else false end as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = ? left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = ? inner join calendario_quinzena cq on cq.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cq.periodo_calendario_inicio = ? left join situacao_didatica_aula sda on sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data is null and sda.id_quinzena_ano = cq.id_quinzena_ano and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular where t.id_turma in (...) and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and t.id_periodicidade_conteudo = ? and cc.flg_aponta_conteudo_curricular group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Dec 16 00 4 3s242ms 810ms 07 16 11s127ms 695ms 08 105 1m46s 1s14ms 09 95 1m41s 1s70ms 10 134 1m52s 837ms 11 37 54s879ms 1s483ms -
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, case when count( case when id_situacao_didatica_aula is null then 1 else null end) > 0 then true else false end as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = '2024' left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = '2024' inner join calendario_periodo_data cpd on cpd.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cpd.bimestre = '1' inner join dia_semana ds on ds.dia_semana = cpd.dia_semana left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data inner join quadro_horario_homologado q on q.id_turma = t.id_turma and q.id_componente_curricular = cc.id_componente_curricular and q.dia_semana = cpd.dia_semana left join situacao_didatica_aula sda on sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data = cpd.data and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and ((t.id_periodicidade_conteudo = '2' and t.flg_conteudo_diario_conforme_quadro) or sda.id_horario_turma = q.id_horario_turma) where t.id_turma in ('240013510', '240013511', '240013512', '240013513', '240013514', '240013515', '240013516', '240013517', '240013519', '240013520', '240013521', '240013522', '240013523', '240013524', '240013525', '240013526', '240013527', '240013528', '240013529', '240013530', '240013531', '240013532', '240013533', '240013534', '240013535', '240013536', '240013537', '240013538', '240013539', '240013540', '240013541', '240013542', '240013543', '240013544', '240013545', '240013546', '240013547', '240013548', '240013549', '240013566') and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and (q.data_inicio_vigencia is null or q.data_inicio_vigencia <= cpd.data) and (q.data_termino_vigencia is null or q.data_termino_vigencia >= cpd.data) and cpd.data not in ( select acht.data from adequacao_carga_horaria_turma acht where acht.id_turma = t.id_turma and acht.id_tipo_adequacao_carga_horaria = '2') and cd.id_motivo_dia_nao_letivo is null and (not ds.flg_fim_de_semana or cd.id_motivo_dia_letivo_extra is not null) and (t.id_periodicidade_conteudo in ('1', '4') or (t.id_periodicidade_conteudo = '2' and t.flg_conteudo_diario_conforme_quadro) or cc.flg_aponta_conteudo_curricular is false) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular union select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, bool_or(not exists ( select null from situacao_didatica_aula sda where sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data = cpd.data and sda.id_horario_turma is null)) as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = '2024' left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = '2024' inner join calendario_periodo_data cpd on cpd.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cpd.bimestre = '1' inner join dia_semana ds on ds.dia_semana = cpd.dia_semana left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data where t.id_turma in ('240013510', '240013511', '240013512', '240013513', '240013514', '240013515', '240013516', '240013517', '240013519', '240013520', '240013521', '240013522', '240013523', '240013524', '240013525', '240013526', '240013527', '240013528', '240013529', '240013530', '240013531', '240013532', '240013533', '240013534', '240013535', '240013536', '240013537', '240013538', '240013539', '240013540', '240013541', '240013542', '240013543', '240013544', '240013545', '240013546', '240013547', '240013548', '240013549', '240013566') and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and cpd.data not in ( select acht.data from adequacao_carga_horaria_turma acht where acht.id_turma = t.id_turma and acht.id_tipo_adequacao_carga_horaria = '2') and cd.id_motivo_dia_nao_letivo is null and (not ds.flg_fim_de_semana or cd.id_motivo_dia_letivo_extra is not null) and t.id_periodicidade_conteudo = '2' and not t.flg_conteudo_diario_conforme_quadro and cc.flg_aponta_conteudo_curricular group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular union select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, case when count( case when id_situacao_didatica_aula is null then 1 else null end) > 0 then true else false end as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = '2024' left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = '2024' inner join calendario_quinzena cq on cq.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cq.periodo_calendario_inicio = '1' left join situacao_didatica_aula sda on sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data is null and sda.id_quinzena_ano = cq.id_quinzena_ano and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular where t.id_turma in ('240013510', '240013511', '240013512', '240013513', '240013514', '240013515', '240013516', '240013517', '240013519', '240013520', '240013521', '240013522', '240013523', '240013524', '240013525', '240013526', '240013527', '240013528', '240013529', '240013530', '240013531', '240013532', '240013533', '240013534', '240013535', '240013536', '240013537', '240013538', '240013539', '240013540', '240013541', '240013542', '240013543', '240013544', '240013545', '240013546', '240013547', '240013548', '240013549', '240013566') and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and t.id_periodicidade_conteudo = '3' and cc.flg_aponta_conteudo_curricular group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular;
Date: 2024-12-16 11:07:28 Duration: 14s338ms Bind query: yes
-
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, case when count( case when id_situacao_didatica_aula is null then 1 else null end) > 0 then true else false end as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = '2024' left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = '2024' inner join calendario_periodo_data cpd on cpd.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cpd.bimestre = '2' inner join dia_semana ds on ds.dia_semana = cpd.dia_semana left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data inner join quadro_horario_homologado q on q.id_turma = t.id_turma and q.id_componente_curricular = cc.id_componente_curricular and q.dia_semana = cpd.dia_semana left join situacao_didatica_aula sda on sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data = cpd.data and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and ((t.id_periodicidade_conteudo = '2' and t.flg_conteudo_diario_conforme_quadro) or sda.id_horario_turma = q.id_horario_turma) where t.id_turma in ('240013510', '240013511', '240013512', '240013513', '240013514', '240013515', '240013516', '240013517', '240013519', '240013520', '240013521', '240013522', '240013523', '240013524', '240013525', '240013526', '240013527', '240013528', '240013529', '240013530', '240013531', '240013532', '240013533', '240013534', '240013535', '240013536', '240013537', '240013538', '240013539', '240013540', '240013541', '240013542', '240013543', '240013544', '240013545', '240013546', '240013547', '240013548', '240013549', '240013566') and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and (q.data_inicio_vigencia is null or q.data_inicio_vigencia <= cpd.data) and (q.data_termino_vigencia is null or q.data_termino_vigencia >= cpd.data) and cpd.data not in ( select acht.data from adequacao_carga_horaria_turma acht where acht.id_turma = t.id_turma and acht.id_tipo_adequacao_carga_horaria = '2') and cd.id_motivo_dia_nao_letivo is null and (not ds.flg_fim_de_semana or cd.id_motivo_dia_letivo_extra is not null) and (t.id_periodicidade_conteudo in ('1', '4') or (t.id_periodicidade_conteudo = '2' and t.flg_conteudo_diario_conforme_quadro) or cc.flg_aponta_conteudo_curricular is false) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular union select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, bool_or(not exists ( select null from situacao_didatica_aula sda where sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data = cpd.data and sda.id_horario_turma is null)) as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = '2024' left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = '2024' inner join calendario_periodo_data cpd on cpd.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cpd.bimestre = '2' inner join dia_semana ds on ds.dia_semana = cpd.dia_semana left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data where t.id_turma in ('240013510', '240013511', '240013512', '240013513', '240013514', '240013515', '240013516', '240013517', '240013519', '240013520', '240013521', '240013522', '240013523', '240013524', '240013525', '240013526', '240013527', '240013528', '240013529', '240013530', '240013531', '240013532', '240013533', '240013534', '240013535', '240013536', '240013537', '240013538', '240013539', '240013540', '240013541', '240013542', '240013543', '240013544', '240013545', '240013546', '240013547', '240013548', '240013549', '240013566') and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and cpd.data not in ( select acht.data from adequacao_carga_horaria_turma acht where acht.id_turma = t.id_turma and acht.id_tipo_adequacao_carga_horaria = '2') and cd.id_motivo_dia_nao_letivo is null and (not ds.flg_fim_de_semana or cd.id_motivo_dia_letivo_extra is not null) and t.id_periodicidade_conteudo = '2' and not t.flg_conteudo_diario_conforme_quadro and cc.flg_aponta_conteudo_curricular group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular union select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, case when count( case when id_situacao_didatica_aula is null then 1 else null end) > 0 then true else false end as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = '2024' left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = '2024' inner join calendario_quinzena cq on cq.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cq.periodo_calendario_inicio = '2' left join situacao_didatica_aula sda on sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data is null and sda.id_quinzena_ano = cq.id_quinzena_ano and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular where t.id_turma in ('240013510', '240013511', '240013512', '240013513', '240013514', '240013515', '240013516', '240013517', '240013519', '240013520', '240013521', '240013522', '240013523', '240013524', '240013525', '240013526', '240013527', '240013528', '240013529', '240013530', '240013531', '240013532', '240013533', '240013534', '240013535', '240013536', '240013537', '240013538', '240013539', '240013540', '240013541', '240013542', '240013543', '240013544', '240013545', '240013546', '240013547', '240013548', '240013549', '240013566') and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and t.id_periodicidade_conteudo = '3' and cc.flg_aponta_conteudo_curricular group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular;
Date: 2024-12-16 11:07:36 Duration: 5s3ms Bind query: yes
-
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, case when count( case when id_situacao_didatica_aula is null then 1 else null end) > 0 then true else false end as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = '2024' left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = '2024' inner join calendario_periodo_data cpd on cpd.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cpd.bimestre = '1' inner join dia_semana ds on ds.dia_semana = cpd.dia_semana left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data inner join quadro_horario_homologado q on q.id_turma = t.id_turma and q.id_componente_curricular = cc.id_componente_curricular and q.dia_semana = cpd.dia_semana left join situacao_didatica_aula sda on sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data = cpd.data and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and ((t.id_periodicidade_conteudo = '2' and t.flg_conteudo_diario_conforme_quadro) or sda.id_horario_turma = q.id_horario_turma) where t.id_turma in ('240002309', '240002319', '240002331', '240002335', '240002342', '240002345', '240002351', '240002355', '240002357', '240002362', '240002365', '240002374', '240002582', '240002583', '240002584', '240002586', '240002588', '240002590', '240002592', '240002594', '240002596', '240002598', '240002600', '240002603', '240002606', '240016296', '240018501', '240019024') and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and (q.data_inicio_vigencia is null or q.data_inicio_vigencia <= cpd.data) and (q.data_termino_vigencia is null or q.data_termino_vigencia >= cpd.data) and cpd.data not in ( select acht.data from adequacao_carga_horaria_turma acht where acht.id_turma = t.id_turma and acht.id_tipo_adequacao_carga_horaria = '2') and cd.id_motivo_dia_nao_letivo is null and (not ds.flg_fim_de_semana or cd.id_motivo_dia_letivo_extra is not null) and (t.id_periodicidade_conteudo in ('1', '4') or (t.id_periodicidade_conteudo = '2' and t.flg_conteudo_diario_conforme_quadro) or cc.flg_aponta_conteudo_curricular is false) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular union select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, bool_or(not exists ( select null from situacao_didatica_aula sda where sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data = cpd.data and sda.id_horario_turma is null)) as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = '2024' left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = '2024' inner join calendario_periodo_data cpd on cpd.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cpd.bimestre = '1' inner join dia_semana ds on ds.dia_semana = cpd.dia_semana left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data where t.id_turma in ('240002309', '240002319', '240002331', '240002335', '240002342', '240002345', '240002351', '240002355', '240002357', '240002362', '240002365', '240002374', '240002582', '240002583', '240002584', '240002586', '240002588', '240002590', '240002592', '240002594', '240002596', '240002598', '240002600', '240002603', '240002606', '240016296', '240018501', '240019024') and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and cpd.data not in ( select acht.data from adequacao_carga_horaria_turma acht where acht.id_turma = t.id_turma and acht.id_tipo_adequacao_carga_horaria = '2') and cd.id_motivo_dia_nao_letivo is null and (not ds.flg_fim_de_semana or cd.id_motivo_dia_letivo_extra is not null) and t.id_periodicidade_conteudo = '2' and not t.flg_conteudo_diario_conforme_quadro and cc.flg_aponta_conteudo_curricular group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular union select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, case when count( case when id_situacao_didatica_aula is null then 1 else null end) > 0 then true else false end as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = '2024' left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = '2024' inner join calendario_quinzena cq on cq.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cq.periodo_calendario_inicio = '1' left join situacao_didatica_aula sda on sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data is null and sda.id_quinzena_ano = cq.id_quinzena_ano and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular where t.id_turma in ('240002309', '240002319', '240002331', '240002335', '240002342', '240002345', '240002351', '240002355', '240002357', '240002362', '240002365', '240002374', '240002582', '240002583', '240002584', '240002586', '240002588', '240002590', '240002592', '240002594', '240002596', '240002598', '240002600', '240002603', '240002606', '240016296', '240018501', '240019024') and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and t.id_periodicidade_conteudo = '3' and cc.flg_aponta_conteudo_curricular group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular;
Date: 2024-12-16 09:30:45 Duration: 4s458ms Bind query: yes
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 955ms 2h28m5s 1h14m3s 2 2h28m6s 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 = ? left join aluno_matr_status_hist abandono on abandono.id_aluno_matricula = am.id_aluno_matricula and abandono.id_aluno_matr_status = ? 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 in (...) and (am.id_aluno_matr_status = ? or calendario_periodo_data.data < abandono.data_ocorrencia::date) and am.flg_matricula_atual 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 #1
Day Hour Count Duration Avg duration Dec 16 00 1 955ms 955ms 02 1 2h28m5s 2h28m5s -
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 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 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 (69, 72, 77, 78, 79, 80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102) 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 am.flg_matricula_atual 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: 2024-12-16 02:39:52 Duration: 2h28m5s 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 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 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 (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 am.flg_matricula_atual 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: 2024-12-16 00:01:05 Duration: 955ms Bind query: yes
2 16m37s 16m37s 16m37s 1 16m37s 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 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 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 #2
Day Hour Count Duration Avg duration Dec 16 10 1 16m37s 16m37s -
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 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 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 ('98', 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 = '98' and ano_semestre.ano = '2024' and uf.id_municipio = '330350' and uf.id_unidade_funcional in ( select '607078' union all select id_unidade_funcional_filha from hierarquia_unidade_extendida where id_unidade_funcional_mae = '607078' and id_assunto_hierarquia_unidade = '81') and am.id_aluno_matr_status in (1, 2, 7) and serie_turma.id_forma_avaliacao in (1, 2) order by uf.nome, curso_turma.sigla, serie_matricula.sigla, t.codigo, amt.chamada, d.descricao, turma_periodo.id_nota_periodo_aluno;
Date: 2024-12-16 10:29:57 Duration: 16m37s Bind query: yes
3 1m4s 19m23s 10m13s 2 20m27s 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 #3
Day Hour Count Duration Avg duration Dec 16 00 1 1m4s 1m4s 01 1 19m23s 19m23s -
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: 2024-12-16 01:28:01 Duration: 19m23s Bind query: yes
-
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: 2024-12-16 00:45:11 Duration: 1m4s Bind query: yes
4 3m1s 14m48s 8m55s 2 17m50s 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 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 #4
Day Hour Count Duration Avg duration Dec 16 00 2 17m50s 8m55s -
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 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: 2024-12-16 00:31:06 Duration: 14m48s 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 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: 2024-12-16 00:04:28 Duration: 3m1s Bind query: yes
5 1m25s 16m1s 6m37s 3 19m53s 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 #5
Day Hour Count Duration Avg duration Dec 16 00 1 2m26s 2m26s 01 2 17m26s 8m43s -
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: 2024-12-16 01:01:12 Duration: 16m1s 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: 2024-12-16 00:08:25 Duration: 2m26s 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: 2024-12-16 01:29:26 Duration: 1m25s Bind query: yes
6 2s5ms 1m7s 14s472ms 79 19m3s select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado in ( select p.id_planejamento_bimestral_organizado from planejamento_organizado_conteudo p inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado where p.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ? and pbo.id_serie = ? and pbo.id_disciplina = ?) left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = ? left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = ? where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = ? and ts.id_serie = ? and cc.id_disciplina = ? order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Dec 16 08 14 5m7s 21s952ms 09 36 7m32s 12s558ms 10 29 6m23s 13s239ms -
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado in ( select p.id_planejamento_bimestral_organizado from planejamento_organizado_conteudo p inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado where p.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = '240001231' and pbo.id_serie = '1970' and pbo.id_disciplina = '1817') left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '0' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240001231' and ts.id_serie = '1970' and cc.id_disciplina = '1817' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 09:59:00 Duration: 1m7s Bind query: yes
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado in ( select p.id_planejamento_bimestral_organizado from planejamento_organizado_conteudo p inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado where p.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = '240019481' and pbo.id_serie = '2194' and pbo.id_disciplina = '2216') left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '0' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240019481' and ts.id_serie = '2194' and cc.id_disciplina = '2216' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 08:57:46 Duration: 52s399ms Bind query: yes
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado in ( select p.id_planejamento_bimestral_organizado from planejamento_organizado_conteudo p inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado where p.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = '240019760' and pbo.id_serie = '1968' and pbo.id_disciplina = '2557') left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '0' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240019760' and ts.id_serie = '1968' and cc.id_disciplina = '2557' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 10:01:28 Duration: 51s190ms Bind query: yes
7 2s668ms 50s562ms 7s510ms 632 1h19m6s 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 #7
Day Hour Count Duration Avg duration Dec 16 06 11 30s556ms 2s777ms 07 100 7m 4s203ms 08 162 19m19s 7s158ms 09 126 16m9s 7s693ms 10 149 24m 9s669ms 11 84 12m5s 8s642ms -
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 = '240001204' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '1306' 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: 2024-12-16 10:51:48 Duration: 50s562ms 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 = '240003608' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '21886' 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: 2024-12-16 11:03:28 Duration: 33s614ms 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 = '240001165' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '1227' 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: 2024-12-16 11:03:28 Duration: 32s35ms Bind query: yes
8 500ms 1m6s 5s581ms 177 16m27s 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 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)))));Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Dec 16 00 1 500ms 500ms 02 8 24s629ms 3s78ms 03 8 14s953ms 1s869ms 04 4 2s354ms 588ms 05 4 2s349ms 587ms 07 12 58s626ms 4s885ms 08 30 5m16s 10s565ms 09 29 1m58s 4s94ms 10 49 5m46s 7s68ms 11 32 1m42s 3s202ms -
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 = '2024' 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 ('240009176', '240009188', '240009187', '240009180', '240009177', '240010501', '240009193', '240009192', '240009184', '240009175', '240009174', '240009195', '240009179', '240009182', '240009191', '240009194', '240009185', '240009190', '240009183', '240009186', '240009178') and npa.id_nota_periodo_aluno = bimestre_para_periodo ('2', 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 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 <= '2') and (mdp.periodos is null or not mdp.periodos @> ARRAY['2']) and emap.id_nota_periodo_aluno = '2' 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 = '2' 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)))));
Date: 2024-12-16 10:51:31 Duration: 1m6s 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 = '2024' 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 ('240010055', '240010061', '240010054', '240010048', '240013671', '240010060', '240010058', '240013683') and npa.id_nota_periodo_aluno = bimestre_para_periodo ('3', 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 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 <= '3') and (mdp.periodos is null or not mdp.periodos @> ARRAY['3']) and emap.id_nota_periodo_aluno = '3' 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 = '3' 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)))));
Date: 2024-12-16 08:57:39 Duration: 43s581ms 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 = '2024' 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 ('240009176', '240009188', '240009187', '240009180', '240009177', '240010501', '240009193', '240009192', '240009184', '240009175', '240009174', '240009195', '240009179', '240009182', '240009191', '240009194', '240009185', '240009190', '240009183', '240009186', '240009178') and npa.id_nota_periodo_aluno = bimestre_para_periodo ('4', 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 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 <= '4') and (mdp.periodos is null or not mdp.periodos @> ARRAY['4']) and emap.id_nota_periodo_aluno = '4' 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 = '4' 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)))));
Date: 2024-12-16 10:53:50 Duration: 35s970ms Bind query: yes
9 1s450ms 9s943ms 4s861ms 369 29m53s select coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina) as id_disciplina, falta.id_nota_periodo_aluno, sum(falta.qtd_faltas)::int as falta from falta_aluno_disciplina falta inner join turma_disciplina td on td.id_disciplina = falta.id_disciplina inner join componente_curricular cc on cc.id_grade_curricular = td.id_grade_curricular and cc.id_disciplina = falta.id_disciplina where falta.id_aluno_matricula = ? and td.id_turma = ? and td.id_grade_curricular = ? 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 = falta.id_aluno_matricula and mdp.periodos @> array[falta.id_nota_periodo_aluno]) and not exists ( select * from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = falta.id_aluno_matricula and amdd.id_disciplina = falta.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[falta.id_nota_periodo_aluno])) group by coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina), falta.id_nota_periodo_aluno;Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Dec 16 00 1 2s631ms 2s631ms 02 2 3s852ms 1s926ms 05 1 2s939ms 2s939ms 08 7 41s405ms 5s915ms 09 111 7m54s 4s276ms 10 243 20m39s 5s100ms 11 4 28s937ms 7s234ms -
select coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina) as id_disciplina, falta.id_nota_periodo_aluno, sum(falta.qtd_faltas)::int as falta from falta_aluno_disciplina falta inner join turma_disciplina td on td.id_disciplina = falta.id_disciplina inner join componente_curricular cc on cc.id_grade_curricular = td.id_grade_curricular and cc.id_disciplina = falta.id_disciplina where falta.id_aluno_matricula = '3401801' and td.id_turma = '240018969' and td.id_grade_curricular = '5291' 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 = falta.id_aluno_matricula and mdp.periodos @> array[falta.id_nota_periodo_aluno]) and not exists ( select * from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = falta.id_aluno_matricula and amdd.id_disciplina = falta.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[falta.id_nota_periodo_aluno])) group by coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina), falta.id_nota_periodo_aluno;
Date: 2024-12-16 09:09:02 Duration: 9s943ms Bind query: yes
-
select coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina) as id_disciplina, falta.id_nota_periodo_aluno, sum(falta.qtd_faltas)::int as falta from falta_aluno_disciplina falta inner join turma_disciplina td on td.id_disciplina = falta.id_disciplina inner join componente_curricular cc on cc.id_grade_curricular = td.id_grade_curricular and cc.id_disciplina = falta.id_disciplina where falta.id_aluno_matricula = '3326878' and td.id_turma = '240018967' and td.id_grade_curricular = '5289' 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 = falta.id_aluno_matricula and mdp.periodos @> array[falta.id_nota_periodo_aluno]) and not exists ( select * from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = falta.id_aluno_matricula and amdd.id_disciplina = falta.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[falta.id_nota_periodo_aluno])) group by coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina), falta.id_nota_periodo_aluno;
Date: 2024-12-16 10:54:56 Duration: 9s762ms Bind query: yes
-
select coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina) as id_disciplina, falta.id_nota_periodo_aluno, sum(falta.qtd_faltas)::int as falta from falta_aluno_disciplina falta inner join turma_disciplina td on td.id_disciplina = falta.id_disciplina inner join componente_curricular cc on cc.id_grade_curricular = td.id_grade_curricular and cc.id_disciplina = falta.id_disciplina where falta.id_aluno_matricula = '3334392' and td.id_turma = '240018825' and td.id_grade_curricular = '5286' 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 = falta.id_aluno_matricula and mdp.periodos @> array[falta.id_nota_periodo_aluno]) and not exists ( select * from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = falta.id_aluno_matricula and amdd.id_disciplina = falta.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[falta.id_nota_periodo_aluno])) group by coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina), falta.id_nota_periodo_aluno;
Date: 2024-12-16 10:52:31 Duration: 9s732ms Bind query: yes
10 504ms 1m9s 4s695ms 436 34m7s select f.id_aluno_matricula, f.id_disciplina, f.data, to_char(f.data, ?) as data_formatada, f.id_horario_turma, f.flg_justificada, upper(m.sigla) as motivo from falta_aluno_disciplina_diario f inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = f.id_aluno_matricula left join motivo_falta_justificada m on m.id_motivo_falta_justificada = f.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.data <= coalesce(a.data_primeira_saida, f.data) and rfdd.flg_concluido is true union select fh.id_aluno_matricula, fh.id_disciplina, fh.data, to_char(fh.data, ?) as data_formatada, fh.id_horario_turma, fh.flg_justificada, coalesce(fh.descricao_motivo_falta_justificada, upper(mh.sigla)) as motivo from aluno_lancamento.falta_aluno_disciplina_diario_hist fh inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = fh.id_aluno_matricula left join motivo_falta_justificada mh on mh.id_motivo_falta_justificada = fh.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = fh.id_turma and rfdd.id_disciplina = fh.id_disciplina and rfdd.data_referencia = fh.data where fh.data <= coalesce(a.data_primeira_saida, fh.data) and rfdd.flg_concluido is true order by id_aluno_matricula, id_disciplina, data;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Dec 16 06 1 1s939ms 1s939ms 07 43 1m11s 1s661ms 08 104 8m22s 4s833ms 09 164 15m40s 5s732ms 10 66 4m48s 4s372ms 11 58 4m2s 4s182ms -
select f.id_aluno_matricula, f.id_disciplina, f.data, to_char(f.data, 'DD/MM/YYYY') as data_formatada, f.id_horario_turma, f.flg_justificada, upper(m.sigla) as motivo from falta_aluno_disciplina_diario f inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = f.id_aluno_matricula left join motivo_falta_justificada m on m.id_motivo_falta_justificada = f.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.data <= coalesce(a.data_primeira_saida, f.data) and rfdd.flg_concluido is true union select fh.id_aluno_matricula, fh.id_disciplina, fh.data, to_char(fh.data, 'DD/MM/YYYY') as data_formatada, fh.id_horario_turma, fh.flg_justificada, coalesce(fh.descricao_motivo_falta_justificada, upper(mh.sigla)) as motivo from aluno_lancamento.falta_aluno_disciplina_diario_hist fh inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = fh.id_aluno_matricula left join motivo_falta_justificada mh on mh.id_motivo_falta_justificada = fh.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = fh.id_turma and rfdd.id_disciplina = fh.id_disciplina and rfdd.data_referencia = fh.data where fh.data <= coalesce(a.data_primeira_saida, fh.data) and rfdd.flg_concluido is true order by id_aluno_matricula, id_disciplina, data;
Date: 2024-12-16 08:45:44 Duration: 1m9s Bind query: yes
-
select f.id_aluno_matricula, f.id_disciplina, f.data, to_char(f.data, 'DD/MM/YYYY') as data_formatada, f.id_horario_turma, f.flg_justificada, upper(m.sigla) as motivo from falta_aluno_disciplina_diario f inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = f.id_aluno_matricula left join motivo_falta_justificada m on m.id_motivo_falta_justificada = f.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.data <= coalesce(a.data_primeira_saida, f.data) and rfdd.flg_concluido is true union select fh.id_aluno_matricula, fh.id_disciplina, fh.data, to_char(fh.data, 'DD/MM/YYYY') as data_formatada, fh.id_horario_turma, fh.flg_justificada, coalesce(fh.descricao_motivo_falta_justificada, upper(mh.sigla)) as motivo from aluno_lancamento.falta_aluno_disciplina_diario_hist fh inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = fh.id_aluno_matricula left join motivo_falta_justificada mh on mh.id_motivo_falta_justificada = fh.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = fh.id_turma and rfdd.id_disciplina = fh.id_disciplina and rfdd.data_referencia = fh.data where fh.data <= coalesce(a.data_primeira_saida, fh.data) and rfdd.flg_concluido is true order by id_aluno_matricula, id_disciplina, data;
Date: 2024-12-16 08:58:56 Duration: 50s192ms Bind query: yes
-
select f.id_aluno_matricula, f.id_disciplina, f.data, to_char(f.data, 'DD/MM/YYYY') as data_formatada, f.id_horario_turma, f.flg_justificada, upper(m.sigla) as motivo from falta_aluno_disciplina_diario f inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = f.id_aluno_matricula left join motivo_falta_justificada m on m.id_motivo_falta_justificada = f.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.data <= coalesce(a.data_primeira_saida, f.data) and rfdd.flg_concluido is true union select fh.id_aluno_matricula, fh.id_disciplina, fh.data, to_char(fh.data, 'DD/MM/YYYY') as data_formatada, fh.id_horario_turma, fh.flg_justificada, coalesce(fh.descricao_motivo_falta_justificada, upper(mh.sigla)) as motivo from aluno_lancamento.falta_aluno_disciplina_diario_hist fh inner join aluno_turma_diario_impresso a on a.id_aluno_matricula = fh.id_aluno_matricula left join motivo_falta_justificada mh on mh.id_motivo_falta_justificada = fh.id_motivo_falta_justificada inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = fh.id_turma and rfdd.id_disciplina = fh.id_disciplina and rfdd.data_referencia = fh.data where fh.data <= coalesce(a.data_primeira_saida, fh.data) and rfdd.flg_concluido is true order by id_aluno_matricula, id_disciplina, data;
Date: 2024-12-16 09:34:45 Duration: 38s608ms Bind query: yes
11 501ms 1m45s 2s893ms 307 14m48s 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 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 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 cne where cne.id_cidadao = am.id_cidadao and cne.id_necessidade_especial in ( select unnest(a.necessidade_especial)))) 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) 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 #11
Day Hour Count Duration Avg duration Dec 16 00 2 1s604ms 802ms 05 1 882ms 882ms 06 5 3s250ms 650ms 07 54 1m34s 1s749ms 08 76 4m29s 3s551ms 09 76 4m32s 3s585ms 10 68 2m41s 2s380ms 11 25 1m23s 3s347ms -
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 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 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 cne where cne.id_cidadao = am.id_cidadao and cne.id_necessidade_especial in ( select unnest(a.necessidade_especial)))) 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 ('240004608', '240004612', '240004604', '240004621', '240004602', '240004626', '240004613', '240004616', '240004609', '240004611', '240004615', '240004607', '240004614', '240004605', '240004606') 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) 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: 2024-12-16 08:33:33 Duration: 1m45s 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 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 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 cne where cne.id_cidadao = am.id_cidadao and cne.id_necessidade_especial in ( select unnest(a.necessidade_especial)))) 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 ('240006075', '240006068', '240006056', '240006062', '240006071', '240006059', '240006061', '240006055', '240006070', '240006072', '240006182', '240006057', '240006052', '240006073', '240006060', '240006063', '240006245', '240006048', '240006067', '240006180', '240006176', '240006064', '240006074', '240006058', '240006178', '240006069', '240006066', '240006065') 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) 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: 2024-12-16 09:11:09 Duration: 44s494ms 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 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 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 cne where cne.id_cidadao = am.id_cidadao and cne.id_necessidade_especial in ( select unnest(a.necessidade_especial)))) 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 ('240004663', '240004732', '240004677', '240004679', '240004656', '240004660', '240004657', '240004669', '240004678', '240004654', '240004667', '240004671', '240004658', '240004681', '240004662', '240004664', '240004673', '240004659', '240004675', '240004672', '240004676', '240004670', '240004682', '240004674', '240004661', '240004889', '240004665', '240004666', '240004668', '240004680', '240004684', '240004655') 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) 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: 2024-12-16 09:03:01 Duration: 44s205ms Bind query: yes
12 500ms 1m7s 2s217ms 4,618 2h50m41s select id_turma, id_serie, id_disciplina, id_componente_curricular, 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, 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 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) x;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Dec 16 00 76 2m36s 2s64ms 01 825 11m47s 857ms 02 625 8m28s 813ms 03 12 22s139ms 1s844ms 04 6 6s503ms 1s83ms 05 32 41s89ms 1s284ms 06 77 1m33s 1s217ms 07 503 13m19s 1s589ms 08 821 41m59s 3s69ms 09 643 33m46s 3s151ms 10 722 41m39s 3s461ms 11 276 14m19s 3s114ms -
select id_turma, id_serie, id_disciplina, id_componente_curricular, 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, 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 where t.id_turma in ('240005067', '240005068', '240005069', '240005070', '240005071', '240005073', '240005074', '240005076', '240005078', '240005080', '240005081', '240005082', '240005083', '240005084', '240005085', '240005086', '240005087', '240005088', '240005089', '240005091', '240005092', '240019170') 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) x;
Date: 2024-12-16 10:46:36 Duration: 1m7s Bind query: yes
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, 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, case when oc.flg_conteudo_por_periodo or oc.flg_conteudo_somente_planejados then '' else '*' end as asterisco, case when oc.flg_conteudo_somente_planejados then p.id_planejamento_bimestral_organizado isnull else false end as pendencia_planejamento, -- total, count( case when oc.flg_conteudo_somente_planejados then poc.id_planejamento_bimestral_organizado else ct.id_conteudo_curricular end) as total, -- ministrados count( case when exists ( select null from conteudo_organizado_aula_conteudo coac inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = coac.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula where sda.id_turma = ts.id_turma and sda.id_serie = ts.id_serie and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and case when oc.flg_conteudo_somente_planejados then coac.id_conteudo_matriz_conteudo = poc.id_conteudo_matriz_conteudo else coac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo end) then 1 else null end) as ministrados from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join grade_curricular gc on gc.id_grade_curricular = ts.id_grade_curricular inner join ano_semestre a on a.id_ano_semestre = t.id_ano_semestre inner join serie s on s.id_serie = ts.id_serie inner join curso c on c.id_curso = s.id_curso inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join disciplina d on cc.id_disciplina = d.id_disciplina inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = gc.id_grade_curricular and a.id_ano_semestre between ogc.id_ano_semestre_inicio and coalesce(ogc.id_ano_semestre_termino, a.id_ano_semestre) and (ogc.id_componente_curricular = cc.id_componente_curricular or ogc.id_componente_curricular is null) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular inner join matriz_conteudo_curricular mcc on mcc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mcc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mcc.id_matriz_conteudo_curricular inner join conteudo_curricular ct on ct.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = ct.id_tipo_conteudo_curricular and ec.id_organizador_curricular = oc.id_organizador_curricular and ec.flg_apontamento left join planejamento_bimestral_organizado p on p.id_turma = t.id_turma and p.id_serie = ts.id_serie and coalesce(p.id_disciplina, d.id_disciplina) = cc.id_disciplina and p.id_nota_periodo_aluno = bimestre_para_periodo ('4', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) and oc.flg_conteudo_somente_planejados left join planejamento_organizado_conteudo poc on poc.id_planejamento_bimestral_organizado = p.id_planejamento_bimestral_organizado and poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo where t.id_turma in ('240005385', '240005387', '240005388', '240005389', '240005391', '240005393', '240005415', '240005419', '240005421', '240005422', '240005423', '240005426', '240005429', '240005431', '240005432') and (cc.flg_aponta_conteudo_curricular or not oc.flg_componente_curricular) and (cmc.id_nota_periodo_aluno = bimestre_para_periodo ('4', c.serie_duracao = 2, c.id_periodicidade_apontamento = 3) or not oc.flg_conteudo_por_periodo) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, oc.id_organizador_curricular, p.id_planejamento_bimestral_organizado) x;
Date: 2024-12-16 09:33:59 Duration: 46s56ms Bind query: yes
-
select id_turma, id_serie, id_disciplina, id_componente_curricular, 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, 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 where t.id_turma in ('240005067', '240005068', '240005069', '240005070', '240005071', '240005073', '240005074', '240005076', '240005078', '240005080', '240005081', '240005082', '240005083', '240005084', '240005085', '240005086', '240005087', '240005088', '240005089', '240005091', '240005092', '240019170') 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) x;
Date: 2024-12-16 10:48:13 Duration: 44s984ms Bind query: yes
13 502ms 21s984ms 1s948ms 418 13m34s select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, (faltas_mes_ate_atual - faltas_mes)::int as faltas_anteriores, faltas_mes::int as faltas_mes, faltas_mes_ate_atual::int as faltas_total from ( select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, faltas_anteriores, faltas_mes, faltas_anteriores + (sum(faltas_mes) over (partition by id_aluno_matricula, chamada, id_disciplina order by ano, id_mes)) as faltas_mes_ate_atual from ( select ts.id_turma, a.id_aluno_matricula, a.chamada, cc.id_disciplina, amdd.id_motivo_dispensa_disciplina notnull or mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(to_char(f.data, ? || f.id_horario_turma)) from falta_aluno_disciplina_diario f inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.id_turma = ts.id_turma and f.id_disciplina = cc.id_disciplina and f.id_aluno_matricula = a.id_aluno_matricula and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfdd.flg_concluido is true), ?)::int as faltas_mes, coalesce(( select sum(coalesce(falta_justificada, ?) + coalesce(falta_nao_justificada, ?)) from falta_anterior_aluno_disciplina fa where fa.id_aluno_matricula = a.id_aluno_matricula and fa.id_disciplina = cc.id_disciplina), ?)::int as faltas_anteriores from turma_serie ts inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = ? left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = ? and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between ? and ? or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = a.id_aluno_matricula and amdd.id_turma = ts.id_turma and amdd.id_disciplina = cc.id_disciplina and (m.id_nota_periodo_aluno = any (amdd.periodos) or amdd.flg_dispensado_todos_periodos) left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = ? and ts.id_serie = ? and cc.flg_aponta_faltas) t) x order by id_aluno_matricula, id_disciplina, ano, id_mes;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Dec 16 06 1 594ms 594ms 07 33 32s619ms 988ms 08 103 3m31s 2s57ms 09 153 5m16s 2s70ms 10 75 2m29s 1s991ms 11 53 1m43s 1s949ms -
select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, (faltas_mes_ate_atual - faltas_mes)::int as faltas_anteriores, --as faltas do mês do diário faltas_mes::int as faltas_mes, -- total: total mês atual faltas_mes_ate_atual::int as faltas_total from ( select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, faltas_anteriores, faltas_mes, faltas_anteriores + (sum(faltas_mes) over (partition by id_aluno_matricula, chamada, id_disciplina order by ano, id_mes)) as faltas_mes_ate_atual from ( select ts.id_turma, a.id_aluno_matricula, a.chamada, cc.id_disciplina, amdd.id_motivo_dispensa_disciplina notnull or mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, -- faltas diárias do mês nessa turma coalesce(( select count(to_char(f.data, 'YYYY-MM-DD' || f.id_horario_turma)) from falta_aluno_disciplina_diario f inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.id_turma = ts.id_turma and f.id_disciplina = cc.id_disciplina and f.id_aluno_matricula = a.id_aluno_matricula and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfdd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_disciplina fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula and fa.id_disciplina = cc.id_disciplina), 0)::int as faltas_anteriores from turma_serie ts inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '240001133' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '1134' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de componente left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = a.id_aluno_matricula and amdd.id_turma = ts.id_turma and amdd.id_disciplina = cc.id_disciplina and (m.id_nota_periodo_aluno = any (amdd.periodos) or amdd.flg_dispensado_todos_periodos) -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = '240001133' and ts.id_serie = '104' and cc.flg_aponta_faltas) t) x order by id_aluno_matricula, id_disciplina, ano, id_mes;
Date: 2024-12-16 08:40:39 Duration: 21s984ms Bind query: yes
-
select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, (faltas_mes_ate_atual - faltas_mes)::int as faltas_anteriores, --as faltas do mês do diário faltas_mes::int as faltas_mes, -- total: total mês atual faltas_mes_ate_atual::int as faltas_total from ( select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, faltas_anteriores, faltas_mes, faltas_anteriores + (sum(faltas_mes) over (partition by id_aluno_matricula, chamada, id_disciplina order by ano, id_mes)) as faltas_mes_ate_atual from ( select ts.id_turma, a.id_aluno_matricula, a.chamada, cc.id_disciplina, amdd.id_motivo_dispensa_disciplina notnull or mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, -- faltas diárias do mês nessa turma coalesce(( select count(to_char(f.data, 'YYYY-MM-DD' || f.id_horario_turma)) from falta_aluno_disciplina_diario f inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.id_turma = ts.id_turma and f.id_disciplina = cc.id_disciplina and f.id_aluno_matricula = a.id_aluno_matricula and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfdd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_disciplina fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula and fa.id_disciplina = cc.id_disciplina), 0)::int as faltas_anteriores from turma_serie ts inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '240001821' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '1168' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de componente left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = a.id_aluno_matricula and amdd.id_turma = ts.id_turma and amdd.id_disciplina = cc.id_disciplina and (m.id_nota_periodo_aluno = any (amdd.periodos) or amdd.flg_dispensado_todos_periodos) -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = '240001821' and ts.id_serie = '102' and cc.flg_aponta_faltas) t) x order by id_aluno_matricula, id_disciplina, ano, id_mes;
Date: 2024-12-16 11:27:54 Duration: 14s988ms Bind query: yes
-
select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, (faltas_mes_ate_atual - faltas_mes)::int as faltas_anteriores, --as faltas do mês do diário faltas_mes::int as faltas_mes, -- total: total mês atual faltas_mes_ate_atual::int as faltas_total from ( select id_aluno_matricula, chamada, id_disciplina, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, faltas_anteriores, faltas_mes, faltas_anteriores + (sum(faltas_mes) over (partition by id_aluno_matricula, chamada, id_disciplina order by ano, id_mes)) as faltas_mes_ate_atual from ( select ts.id_turma, a.id_aluno_matricula, a.chamada, cc.id_disciplina, amdd.id_motivo_dispensa_disciplina notnull or mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, -- faltas diárias do mês nessa turma coalesce(( select count(to_char(f.data, 'YYYY-MM-DD' || f.id_horario_turma)) from falta_aluno_disciplina_diario f inner join registro_falta_disciplina_diario rfdd on rfdd.id_turma = f.id_turma and rfdd.id_disciplina = f.id_disciplina and rfdd.data_referencia = f.data where f.id_turma = ts.id_turma and f.id_disciplina = cc.id_disciplina and f.id_aluno_matricula = a.id_aluno_matricula and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfdd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_disciplina fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula and fa.id_disciplina = cc.id_disciplina), 0)::int as faltas_anteriores from turma_serie ts inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular inner join aluno_turma_diario_impresso a on a.id_turma = ts.id_turma -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = '240019481' left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = '21827' and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de componente left join aluno_matr_dispensa_disciplina amdd on amdd.id_aluno_matricula = a.id_aluno_matricula and amdd.id_turma = ts.id_turma and amdd.id_disciplina = cc.id_disciplina and (m.id_nota_periodo_aluno = any (amdd.periodos) or amdd.flg_dispensado_todos_periodos) -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos) where ts.id_turma = '240019481' and ts.id_serie = '2194' and cc.flg_aponta_faltas) t) x order by id_aluno_matricula, id_disciplina, ano, id_mes;
Date: 2024-12-16 09:09:25 Duration: 11s418ms Bind query: yes
14 500ms 9s449ms 1s628ms 7,643 3h27m30s select distinct 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;Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Dec 16 00 6 3s950ms 658ms 01 4 2s603ms 650ms 02 2 1s307ms 653ms 05 2 1s255ms 627ms 06 4 2s622ms 655ms 07 93 1m18s 848ms 08 1,805 42m23s 1s409ms 09 2,398 1h10m15s 1s758ms 10 2,206 1h2m2s 1s687ms 11 1,123 31m17s 1s672ms -
select distinct 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 = 2947233) AND (amt.id_turma = 240003235) order by d.ordem, d.descricao;
Date: 2024-12-16 09:46:04 Duration: 9s449ms Bind query: yes
-
select distinct 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 = 2922144) AND (amt.id_turma = 240000900) order by d.ordem, d.descricao;
Date: 2024-12-16 10:39:10 Duration: 9s427ms Bind query: yes
-
select distinct 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 = 2987111) AND (amt.id_turma = 240006451) order by d.ordem, d.descricao;
Date: 2024-12-16 08:44:38 Duration: 9s393ms Bind query: yes
15 500ms 9s843ms 1s390ms 837 19m23s 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 = cc.id_componente_curricular) as flg_ministrado, exists ( select null from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado where poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ts.id_turma and pbo.id_serie = ts.id_serie and pbo.id_disciplina = cc.id_disciplina) as flg_planejado from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = ? and ts.id_serie = ? and cc.id_disciplina = ? order by ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Dec 16 00 9 5s969ms 663ms 02 1 533ms 533ms 07 23 23s774ms 1s33ms 08 191 3m51s 1s210ms 09 223 5m43s 1s541ms 10 267 6m20s 1s423ms 11 123 2m58s 1s453ms -
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 = cc.id_componente_curricular) as flg_ministrado, exists ( select null from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado where poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ts.id_turma and pbo.id_serie = ts.id_serie and pbo.id_disciplina = cc.id_disciplina) as flg_planejado from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240007854' and ts.id_serie = '2046' and cc.id_disciplina = '1804' order by ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 09:58:18 Duration: 9s843ms 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 = cc.id_componente_curricular) as flg_ministrado, exists ( select null from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado where poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ts.id_turma and pbo.id_serie = ts.id_serie and pbo.id_disciplina = cc.id_disciplina) as flg_planejado from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240008294' and ts.id_serie = '2107' and cc.id_disciplina = '1978' order by ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 11:03:25 Duration: 8s737ms 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 = cc.id_componente_curricular) as flg_ministrado, exists ( select null from planejamento_organizado_conteudo poc inner join planejamento_bimestral_organizado pbo on pbo.id_planejamento_bimestral_organizado = poc.id_planejamento_bimestral_organizado where poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pbo.id_turma = ts.id_turma and pbo.id_serie = ts.id_serie and pbo.id_disciplina = cc.id_disciplina) as flg_planejado from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240002955' and ts.id_serie = '1722' and cc.id_disciplina = '1403' order by ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 10:21:21 Duration: 8s278ms Bind query: yes
16 501ms 6s953ms 1s127ms 774 14m32s select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, pb.flg_aprovacao_professor is true as flg_aprovacao_professor, pb.flg_aprovacao_diretor is true as flg_aprovacao_diretor, pb.flg_aprovacao_secretario is true as flg_aprovacao_secretario, oc.id_organizador_curricular, oc.flg_componente_curricular as organizador_por_componente_curricular from turma t inner join turma_serie ts using (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 a on a.id_ano_semestre = t.id_ano_semestre inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = ts.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) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular and cc.flg_planejamento_bimestral is true left join disciplina d on d.id_disciplina = cc.id_disciplina left join planejamento_bimestral_organizado pb on t.id_turma = pb.id_turma and (pb.id_disciplina is null or cc.id_disciplina = pb.id_disciplina) and ts.id_serie = pb.id_serie and pb.id_nota_periodo_aluno = bimestre_para_periodo (?, curso.serie_duracao = ?, curso.id_periodicidade_apontamento = ?) where t.id_turma in (...) and (oc.flg_componente_curricular is false or cc.id_componente_curricular notnull);Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Dec 16 01 12 7s611ms 634ms 02 1 503ms 503ms 04 5 4s153ms 830ms 06 6 3s120ms 520ms 07 78 1m 774ms 08 183 3m28s 1s140ms 09 147 3m31s 1s438ms 10 265 4m38s 1s49ms 11 77 1m38s 1s276ms -
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, pb.flg_aprovacao_professor is true as flg_aprovacao_professor, pb.flg_aprovacao_diretor is true as flg_aprovacao_diretor, pb.flg_aprovacao_secretario is true as flg_aprovacao_secretario, oc.id_organizador_curricular, oc.flg_componente_curricular as organizador_por_componente_curricular from turma t inner join turma_serie ts using (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 a on a.id_ano_semestre = t.id_ano_semestre inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = ts.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) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular and cc.flg_planejamento_bimestral is true left join disciplina d on d.id_disciplina = cc.id_disciplina left join planejamento_bimestral_organizado pb on t.id_turma = pb.id_turma and (pb.id_disciplina is null or cc.id_disciplina = pb.id_disciplina) and ts.id_serie = pb.id_serie and pb.id_nota_periodo_aluno = bimestre_para_periodo ('4', curso.serie_duracao = 2, curso.id_periodicidade_apontamento = 3) where t.id_turma in ('240005267', '240005270') and (oc.flg_componente_curricular is false or cc.id_componente_curricular notnull);
Date: 2024-12-16 09:57:34 Duration: 6s953ms Bind query: yes
-
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, pb.flg_aprovacao_professor is true as flg_aprovacao_professor, pb.flg_aprovacao_diretor is true as flg_aprovacao_diretor, pb.flg_aprovacao_secretario is true as flg_aprovacao_secretario, oc.id_organizador_curricular, oc.flg_componente_curricular as organizador_por_componente_curricular from turma t inner join turma_serie ts using (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 a on a.id_ano_semestre = t.id_ano_semestre inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = ts.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) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular and cc.flg_planejamento_bimestral is true left join disciplina d on d.id_disciplina = cc.id_disciplina left join planejamento_bimestral_organizado pb on t.id_turma = pb.id_turma and (pb.id_disciplina is null or cc.id_disciplina = pb.id_disciplina) and ts.id_serie = pb.id_serie and pb.id_nota_periodo_aluno = bimestre_para_periodo ('3', curso.serie_duracao = 2, curso.id_periodicidade_apontamento = 3) where t.id_turma in ('240005267', '240005270') and (oc.flg_componente_curricular is false or cc.id_componente_curricular notnull);
Date: 2024-12-16 09:57:17 Duration: 6s520ms Bind query: yes
-
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, pb.flg_aprovacao_professor is true as flg_aprovacao_professor, pb.flg_aprovacao_diretor is true as flg_aprovacao_diretor, pb.flg_aprovacao_secretario is true as flg_aprovacao_secretario, oc.id_organizador_curricular, oc.flg_componente_curricular as organizador_por_componente_curricular from turma t inner join turma_serie ts using (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 a on a.id_ano_semestre = t.id_ano_semestre inner join organizacao_grade_curricular ogc on ogc.id_grade_curricular = ts.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) inner join organizador_curricular oc on oc.id_organizador_curricular = ogc.id_organizador_curricular left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular and cc.flg_planejamento_bimestral is true left join disciplina d on d.id_disciplina = cc.id_disciplina left join planejamento_bimestral_organizado pb on t.id_turma = pb.id_turma and (pb.id_disciplina is null or cc.id_disciplina = pb.id_disciplina) and ts.id_serie = pb.id_serie and pb.id_nota_periodo_aluno = bimestre_para_periodo ('1', curso.serie_duracao = 2, curso.id_periodicidade_apontamento = 3) where t.id_turma in ('240009586', '240013275') and (oc.flg_componente_curricular is false or cc.id_componente_curricular notnull);
Date: 2024-12-16 09:35:00 Duration: 6s406ms Bind query: yes
17 500ms 14s338ms 996ms 391 6m29s select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, case when count( case when id_situacao_didatica_aula is null then ? else null end) > ? then true else false end as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = ? left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = ? inner join calendario_periodo_data cpd on cpd.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cpd.bimestre = ? inner join dia_semana ds on ds.dia_semana = cpd.dia_semana left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data inner join quadro_horario_homologado q on q.id_turma = t.id_turma and q.id_componente_curricular = cc.id_componente_curricular and q.dia_semana = cpd.dia_semana left join situacao_didatica_aula sda on sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data = cpd.data and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and ((t.id_periodicidade_conteudo = ? and t.flg_conteudo_diario_conforme_quadro) or sda.id_horario_turma = q.id_horario_turma) where t.id_turma in (...) and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and (q.data_inicio_vigencia is null or q.data_inicio_vigencia <= cpd.data) and (q.data_termino_vigencia is null or q.data_termino_vigencia >= cpd.data) and cpd.data not in ( select acht.data from adequacao_carga_horaria_turma acht where acht.id_turma = t.id_turma and acht.id_tipo_adequacao_carga_horaria = ?) and cd.id_motivo_dia_nao_letivo is null and (not ds.flg_fim_de_semana or cd.id_motivo_dia_letivo_extra is not null) and (t.id_periodicidade_conteudo in (...) or (t.id_periodicidade_conteudo = ? and t.flg_conteudo_diario_conforme_quadro) or cc.flg_aponta_conteudo_curricular is false) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular union select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, bool_or(not exists ( select null from situacao_didatica_aula sda where sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data = cpd.data and sda.id_horario_turma is null)) as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = ? left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = ? inner join calendario_periodo_data cpd on cpd.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cpd.bimestre = ? inner join dia_semana ds on ds.dia_semana = cpd.dia_semana left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data where t.id_turma in (...) and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and cpd.data not in ( select acht.data from adequacao_carga_horaria_turma acht where acht.id_turma = t.id_turma and acht.id_tipo_adequacao_carga_horaria = ?) and cd.id_motivo_dia_nao_letivo is null and (not ds.flg_fim_de_semana or cd.id_motivo_dia_letivo_extra is not null) and t.id_periodicidade_conteudo = ? and not t.flg_conteudo_diario_conforme_quadro and cc.flg_aponta_conteudo_curricular group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular union select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, case when count( case when id_situacao_didatica_aula is null then ? else null end) > ? then true else false end as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = ? left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = ? inner join calendario_quinzena cq on cq.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cq.periodo_calendario_inicio = ? left join situacao_didatica_aula sda on sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data is null and sda.id_quinzena_ano = cq.id_quinzena_ano and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular where t.id_turma in (...) and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and t.id_periodicidade_conteudo = ? and cc.flg_aponta_conteudo_curricular group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Dec 16 00 4 3s242ms 810ms 07 16 11s127ms 695ms 08 105 1m46s 1s14ms 09 95 1m41s 1s70ms 10 134 1m52s 837ms 11 37 54s879ms 1s483ms -
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, case when count( case when id_situacao_didatica_aula is null then 1 else null end) > 0 then true else false end as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = '2024' left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = '2024' inner join calendario_periodo_data cpd on cpd.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cpd.bimestre = '1' inner join dia_semana ds on ds.dia_semana = cpd.dia_semana left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data inner join quadro_horario_homologado q on q.id_turma = t.id_turma and q.id_componente_curricular = cc.id_componente_curricular and q.dia_semana = cpd.dia_semana left join situacao_didatica_aula sda on sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data = cpd.data and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and ((t.id_periodicidade_conteudo = '2' and t.flg_conteudo_diario_conforme_quadro) or sda.id_horario_turma = q.id_horario_turma) where t.id_turma in ('240013510', '240013511', '240013512', '240013513', '240013514', '240013515', '240013516', '240013517', '240013519', '240013520', '240013521', '240013522', '240013523', '240013524', '240013525', '240013526', '240013527', '240013528', '240013529', '240013530', '240013531', '240013532', '240013533', '240013534', '240013535', '240013536', '240013537', '240013538', '240013539', '240013540', '240013541', '240013542', '240013543', '240013544', '240013545', '240013546', '240013547', '240013548', '240013549', '240013566') and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and (q.data_inicio_vigencia is null or q.data_inicio_vigencia <= cpd.data) and (q.data_termino_vigencia is null or q.data_termino_vigencia >= cpd.data) and cpd.data not in ( select acht.data from adequacao_carga_horaria_turma acht where acht.id_turma = t.id_turma and acht.id_tipo_adequacao_carga_horaria = '2') and cd.id_motivo_dia_nao_letivo is null and (not ds.flg_fim_de_semana or cd.id_motivo_dia_letivo_extra is not null) and (t.id_periodicidade_conteudo in ('1', '4') or (t.id_periodicidade_conteudo = '2' and t.flg_conteudo_diario_conforme_quadro) or cc.flg_aponta_conteudo_curricular is false) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular union select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, bool_or(not exists ( select null from situacao_didatica_aula sda where sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data = cpd.data and sda.id_horario_turma is null)) as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = '2024' left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = '2024' inner join calendario_periodo_data cpd on cpd.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cpd.bimestre = '1' inner join dia_semana ds on ds.dia_semana = cpd.dia_semana left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data where t.id_turma in ('240013510', '240013511', '240013512', '240013513', '240013514', '240013515', '240013516', '240013517', '240013519', '240013520', '240013521', '240013522', '240013523', '240013524', '240013525', '240013526', '240013527', '240013528', '240013529', '240013530', '240013531', '240013532', '240013533', '240013534', '240013535', '240013536', '240013537', '240013538', '240013539', '240013540', '240013541', '240013542', '240013543', '240013544', '240013545', '240013546', '240013547', '240013548', '240013549', '240013566') and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and cpd.data not in ( select acht.data from adequacao_carga_horaria_turma acht where acht.id_turma = t.id_turma and acht.id_tipo_adequacao_carga_horaria = '2') and cd.id_motivo_dia_nao_letivo is null and (not ds.flg_fim_de_semana or cd.id_motivo_dia_letivo_extra is not null) and t.id_periodicidade_conteudo = '2' and not t.flg_conteudo_diario_conforme_quadro and cc.flg_aponta_conteudo_curricular group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular union select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, case when count( case when id_situacao_didatica_aula is null then 1 else null end) > 0 then true else false end as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = '2024' left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = '2024' inner join calendario_quinzena cq on cq.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cq.periodo_calendario_inicio = '1' left join situacao_didatica_aula sda on sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data is null and sda.id_quinzena_ano = cq.id_quinzena_ano and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular where t.id_turma in ('240013510', '240013511', '240013512', '240013513', '240013514', '240013515', '240013516', '240013517', '240013519', '240013520', '240013521', '240013522', '240013523', '240013524', '240013525', '240013526', '240013527', '240013528', '240013529', '240013530', '240013531', '240013532', '240013533', '240013534', '240013535', '240013536', '240013537', '240013538', '240013539', '240013540', '240013541', '240013542', '240013543', '240013544', '240013545', '240013546', '240013547', '240013548', '240013549', '240013566') and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and t.id_periodicidade_conteudo = '3' and cc.flg_aponta_conteudo_curricular group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular;
Date: 2024-12-16 11:07:28 Duration: 14s338ms Bind query: yes
-
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, case when count( case when id_situacao_didatica_aula is null then 1 else null end) > 0 then true else false end as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = '2024' left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = '2024' inner join calendario_periodo_data cpd on cpd.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cpd.bimestre = '2' inner join dia_semana ds on ds.dia_semana = cpd.dia_semana left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data inner join quadro_horario_homologado q on q.id_turma = t.id_turma and q.id_componente_curricular = cc.id_componente_curricular and q.dia_semana = cpd.dia_semana left join situacao_didatica_aula sda on sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data = cpd.data and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and ((t.id_periodicidade_conteudo = '2' and t.flg_conteudo_diario_conforme_quadro) or sda.id_horario_turma = q.id_horario_turma) where t.id_turma in ('240013510', '240013511', '240013512', '240013513', '240013514', '240013515', '240013516', '240013517', '240013519', '240013520', '240013521', '240013522', '240013523', '240013524', '240013525', '240013526', '240013527', '240013528', '240013529', '240013530', '240013531', '240013532', '240013533', '240013534', '240013535', '240013536', '240013537', '240013538', '240013539', '240013540', '240013541', '240013542', '240013543', '240013544', '240013545', '240013546', '240013547', '240013548', '240013549', '240013566') and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and (q.data_inicio_vigencia is null or q.data_inicio_vigencia <= cpd.data) and (q.data_termino_vigencia is null or q.data_termino_vigencia >= cpd.data) and cpd.data not in ( select acht.data from adequacao_carga_horaria_turma acht where acht.id_turma = t.id_turma and acht.id_tipo_adequacao_carga_horaria = '2') and cd.id_motivo_dia_nao_letivo is null and (not ds.flg_fim_de_semana or cd.id_motivo_dia_letivo_extra is not null) and (t.id_periodicidade_conteudo in ('1', '4') or (t.id_periodicidade_conteudo = '2' and t.flg_conteudo_diario_conforme_quadro) or cc.flg_aponta_conteudo_curricular is false) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular union select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, bool_or(not exists ( select null from situacao_didatica_aula sda where sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data = cpd.data and sda.id_horario_turma is null)) as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = '2024' left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = '2024' inner join calendario_periodo_data cpd on cpd.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cpd.bimestre = '2' inner join dia_semana ds on ds.dia_semana = cpd.dia_semana left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data where t.id_turma in ('240013510', '240013511', '240013512', '240013513', '240013514', '240013515', '240013516', '240013517', '240013519', '240013520', '240013521', '240013522', '240013523', '240013524', '240013525', '240013526', '240013527', '240013528', '240013529', '240013530', '240013531', '240013532', '240013533', '240013534', '240013535', '240013536', '240013537', '240013538', '240013539', '240013540', '240013541', '240013542', '240013543', '240013544', '240013545', '240013546', '240013547', '240013548', '240013549', '240013566') and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and cpd.data not in ( select acht.data from adequacao_carga_horaria_turma acht where acht.id_turma = t.id_turma and acht.id_tipo_adequacao_carga_horaria = '2') and cd.id_motivo_dia_nao_letivo is null and (not ds.flg_fim_de_semana or cd.id_motivo_dia_letivo_extra is not null) and t.id_periodicidade_conteudo = '2' and not t.flg_conteudo_diario_conforme_quadro and cc.flg_aponta_conteudo_curricular group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular union select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, case when count( case when id_situacao_didatica_aula is null then 1 else null end) > 0 then true else false end as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = '2024' left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = '2024' inner join calendario_quinzena cq on cq.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cq.periodo_calendario_inicio = '2' left join situacao_didatica_aula sda on sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data is null and sda.id_quinzena_ano = cq.id_quinzena_ano and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular where t.id_turma in ('240013510', '240013511', '240013512', '240013513', '240013514', '240013515', '240013516', '240013517', '240013519', '240013520', '240013521', '240013522', '240013523', '240013524', '240013525', '240013526', '240013527', '240013528', '240013529', '240013530', '240013531', '240013532', '240013533', '240013534', '240013535', '240013536', '240013537', '240013538', '240013539', '240013540', '240013541', '240013542', '240013543', '240013544', '240013545', '240013546', '240013547', '240013548', '240013549', '240013566') and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and t.id_periodicidade_conteudo = '3' and cc.flg_aponta_conteudo_curricular group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular;
Date: 2024-12-16 11:07:36 Duration: 5s3ms Bind query: yes
-
select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, case when count( case when id_situacao_didatica_aula is null then 1 else null end) > 0 then true else false end as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = '2024' left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = '2024' inner join calendario_periodo_data cpd on cpd.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cpd.bimestre = '1' inner join dia_semana ds on ds.dia_semana = cpd.dia_semana left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data inner join quadro_horario_homologado q on q.id_turma = t.id_turma and q.id_componente_curricular = cc.id_componente_curricular and q.dia_semana = cpd.dia_semana left join situacao_didatica_aula sda on sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data = cpd.data and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular and ((t.id_periodicidade_conteudo = '2' and t.flg_conteudo_diario_conforme_quadro) or sda.id_horario_turma = q.id_horario_turma) where t.id_turma in ('240002309', '240002319', '240002331', '240002335', '240002342', '240002345', '240002351', '240002355', '240002357', '240002362', '240002365', '240002374', '240002582', '240002583', '240002584', '240002586', '240002588', '240002590', '240002592', '240002594', '240002596', '240002598', '240002600', '240002603', '240002606', '240016296', '240018501', '240019024') and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and (q.data_inicio_vigencia is null or q.data_inicio_vigencia <= cpd.data) and (q.data_termino_vigencia is null or q.data_termino_vigencia >= cpd.data) and cpd.data not in ( select acht.data from adequacao_carga_horaria_turma acht where acht.id_turma = t.id_turma and acht.id_tipo_adequacao_carga_horaria = '2') and cd.id_motivo_dia_nao_letivo is null and (not ds.flg_fim_de_semana or cd.id_motivo_dia_letivo_extra is not null) and (t.id_periodicidade_conteudo in ('1', '4') or (t.id_periodicidade_conteudo = '2' and t.flg_conteudo_diario_conforme_quadro) or cc.flg_aponta_conteudo_curricular is false) group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular union select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, bool_or(not exists ( select null from situacao_didatica_aula sda where sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data = cpd.data and sda.id_horario_turma is null)) as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = '2024' left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = '2024' inner join calendario_periodo_data cpd on cpd.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cpd.bimestre = '1' inner join dia_semana ds on ds.dia_semana = cpd.dia_semana left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data::date = cpd.data where t.id_turma in ('240002309', '240002319', '240002331', '240002335', '240002342', '240002345', '240002351', '240002355', '240002357', '240002362', '240002365', '240002374', '240002582', '240002583', '240002584', '240002586', '240002588', '240002590', '240002592', '240002594', '240002596', '240002598', '240002600', '240002603', '240002606', '240016296', '240018501', '240019024') and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and cpd.data not in ( select acht.data from adequacao_carga_horaria_turma acht where acht.id_turma = t.id_turma and acht.id_tipo_adequacao_carga_horaria = '2') and cd.id_motivo_dia_nao_letivo is null and (not ds.flg_fim_de_semana or cd.id_motivo_dia_letivo_extra is not null) and t.id_periodicidade_conteudo = '2' and not t.flg_conteudo_diario_conforme_quadro and cc.flg_aponta_conteudo_curricular group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular union select t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular, case when count( case when id_situacao_didatica_aula is null then 1 else null end) > 0 then true else false end as pendente from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join componente_curricular cc on cc.id_grade_curricular = ts.id_grade_curricular 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) left join escola_calendario ec on ec.id_unidade_funcional = t.id_unidade_funcional and ec.ano = '2024' left join curso_calendario cu on cu.id_curso = t.id_curso and cu.id_unidade_funcional = t.id_unidade_funcional and cu.ano = '2024' inner join calendario_quinzena cq on cq.id_calendario = coalesce(t.id_calendario_turma, cu.id_calendario, ec.id_calendario) and cq.periodo_calendario_inicio = '1' left join situacao_didatica_aula sda on sda.id_turma = t.id_turma and sda.id_serie = ts.id_serie and sda.data is null and sda.id_quinzena_ano = cq.id_quinzena_ano and coalesce(sda.id_componente_curricular, cc.id_componente_curricular) = cc.id_componente_curricular where t.id_turma in ('240002309', '240002319', '240002331', '240002335', '240002342', '240002345', '240002351', '240002355', '240002357', '240002362', '240002365', '240002374', '240002582', '240002583', '240002584', '240002586', '240002588', '240002590', '240002592', '240002594', '240002596', '240002598', '240002600', '240002603', '240002606', '240016296', '240018501', '240019024') and t.flg_situacao_didatica and cc.flg_aponta_situacao_didatica and t.id_periodicidade_conteudo = '3' and cc.flg_aponta_conteudo_curricular group by t.id_turma, ts.id_serie, d.id_disciplina, cc.id_componente_curricular;
Date: 2024-12-16 09:30:45 Duration: 4s458ms Bind query: yes
18 500ms 3s698ms 960ms 1,422 22m45s select a.codigo as matricula, am.id_aluno_matricula AS "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ? || cid.nome_pai AS "nomeFiliacao", to_char(cid.nascimento_data, ?) AS "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> ? and cid.id_instituicao = ? and date(cid.nascimento_data) = date(?) and cid.nome == = ? and (upper(cid.nome_pai) = upper(trim(?)) or upper(cid.nome_mae) = upper(trim(?)));Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Dec 16 10 1,110 18m8s 980ms 11 312 4m36s 887ms -
select a.codigo as matricula, am.id_aluno_matricula as "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ' / ' || cid.nome_pai as "nomeFiliacao", to_char(cid.nascimento_data, 'dd/MM/yyyy') as "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> '10' and cid.id_instituicao = '97' and date(cid.nascimento_data) = date('2018-05-12 00:00:00-03') and cid.nome == = 'Isabelly Sousa Nóbrega da Silva' and (upper(cid.nome_pai) = upper(trim('Natalia Sousa Damasio de Oliveira')) or upper(cid.nome_mae) = upper(trim('Natalia Sousa Damasio de Oliveira')));
Date: 2024-12-16 10:33:53 Duration: 3s698ms Bind query: yes
-
select a.codigo as matricula, am.id_aluno_matricula as "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ' / ' || cid.nome_pai as "nomeFiliacao", to_char(cid.nascimento_data, 'dd/MM/yyyy') as "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> '10' and cid.id_instituicao = '97' and date(cid.nascimento_data) = date('2010-06-16 00:00:00-03') and cid.nome == = 'Lukas rubini da Rocha' and (upper(cid.nome_pai) = upper(trim('Sabrina de Jesus costa rubini')) or upper(cid.nome_mae) = upper(trim('Sabrina de Jesus costa rubini')));
Date: 2024-12-16 10:33:39 Duration: 3s642ms Bind query: yes
-
select a.codigo as matricula, am.id_aluno_matricula as "idAlunoMatricula", dc.numero_cpf || dc.digito_cpf as cpf, cid.nome, cid.nome_mae || ' / ' || cid.nome_pai as "nomeFiliacao", to_char(cid.nascimento_data, 'dd/MM/yyyy') as "nascimentoData" from cidadao cid inner join aluno a on a.id_cidadao = cid.id_cidadao left join documentos_cidadao dc on dc.id_cidadao = cid.id_cidadao left join aluno_matricula am on am.id_cidadao = cid.id_cidadao where am.flg_matricula_atual is true and am.id_aluno_matr_status <> '10' and cid.id_instituicao = '97' and date(cid.nascimento_data) = date('2020-09-19 00:00:00-03') and cid.nome == = 'Maria Eduarda Moura daSilva' and (upper(cid.nome_pai) = upper(trim('mae')) or upper(cid.nome_mae) = upper(trim('mae')));
Date: 2024-12-16 10:33:54 Duration: 3s474ms Bind query: yes
19 500ms 4s51ms 928ms 594 9m11s select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = ? left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula in ( select a.id_conteudo_organizado_aula from conteudo_organizado_aula_conteudo a inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = a.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula inner join componente_curricular on componente_curricular.id_componente_curricular = sda.id_componente_curricular where sda.id_turma = ? and sda.id_serie = ? and componente_curricular.id_disciplina = ?) left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = ? where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = ? and ts.id_serie = ? and cc.id_disciplina = ? order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Dec 16 00 1 1s133ms 1s133ms 01 1 1s5ms 1s5ms 07 5 3s381ms 676ms 08 142 2m2s 861ms 09 162 2m34s 951ms 10 213 3m25s 964ms 11 70 1m4s 917ms -
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = '0' left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula in ( select a.id_conteudo_organizado_aula from conteudo_organizado_aula_conteudo a inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = a.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula inner join componente_curricular on componente_curricular.id_componente_curricular = sda.id_componente_curricular where sda.id_turma = '240009479' and sda.id_serie = '1985' and componente_curricular.id_disciplina = '1835') left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240009479' and ts.id_serie = '1985' and cc.id_disciplina = '1835' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 10:33:54 Duration: 4s51ms Bind query: yes
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = '0' left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula in ( select a.id_conteudo_organizado_aula from conteudo_organizado_aula_conteudo a inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = a.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula inner join componente_curricular on componente_curricular.id_componente_curricular = sda.id_componente_curricular where sda.id_turma = '240009509' and sda.id_serie = '2003' and componente_curricular.id_disciplina = '1839') left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240009509' and ts.id_serie = '2003' and cc.id_disciplina = '1839' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 10:33:51 Duration: 3s305ms Bind query: yes
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = '0' left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula in ( select a.id_conteudo_organizado_aula from conteudo_organizado_aula_conteudo a inner join conteudo_organizado_aula coa on coa.id_conteudo_organizado_aula = a.id_conteudo_organizado_aula inner join situacao_didatica_aula sda on sda.id_situacao_didatica_aula = coa.id_situacao_didatica_aula inner join componente_curricular on componente_curricular.id_componente_curricular = sda.id_componente_curricular where sda.id_turma = '240014594' and sda.id_serie = '2233' and componente_curricular.id_disciplina = '2175') left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240014594' and ts.id_serie = '2233' and cc.id_disciplina = '2175' order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 10:40:01 Duration: 3s234ms Bind query: yes
20 500ms 6s224ms 914ms 1,420 21m38s select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = ? left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = ? left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = ? where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = ? and ts.id_serie = ? and ogc.id_componente_curricular is null order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Dec 16 00 3 3s972ms 1s324ms 07 9 7s773ms 863ms 08 295 4m10s 848ms 09 435 6m36s 910ms 10 462 7m14s 940ms 11 216 3m25s 952ms -
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = '0' left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '0' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240010267' and ts.id_serie = '1996' and ogc.id_componente_curricular is null order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 11:04:35 Duration: 6s224ms Bind query: yes
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = '410019' left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '0' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240003230' and ts.id_serie = '2197' and ogc.id_componente_curricular is null order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 11:04:35 Duration: 5s570ms Bind query: yes
-
select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = '0' left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = '17361347' left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = '0' where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = '240002400' and ts.id_serie = '2201' and ogc.id_componente_curricular is null order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai;
Date: 2024-12-16 10:38:00 Duration: 3s462ms Bind query: yes
Time consuming prepare
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 4s231ms 1 4s231ms 4s231ms 4s231ms select descricao, id_tipo_comunicado_portal as id from tipo_comunicado_portal where id_tipo_comunicado_portal in ( select id_tipo_comunicado_portal from comunicado_portal cp where (exists ( select id_grupo_usuario from comunicado_grupo_usuario cgu inner join comunicado_unidade_funcional uf on uf.id_comunicado_portal = cp.id_comunicado_portal where cgu.id_comunicado_portal = cp.id_comunicado_portal and cgu.id_grupo_usuario in ( select id_grupo_usuario from usuario_grupo_unidade where id_usuario = $1 and id_assunto_hierarquia_unidade = $2) and (uf.id_unidade_funcional in ( select id_unidade_funcional from usuario_grupo_unidade where id_usuario = $3 and id_assunto_hierarquia_unidade = $4) or uf.id_unidade_funcional in ( select id_unidade_funcional from perfil_extendido where id_usuario = $5 and id_assunto_hierarquia_unidade = $6))) or flg_acesso_publico) and id_comunicado_portal in ( select id_comunicado_portal from comunicado_unidade_funcional where id_unidade_funcional = $7 and id_status_portal = $8) and cp.data <= $9);Times Reported Time consuming prepare #1
Day Hour Count Duration Avg duration Dec 16 01 1 4s231ms 4s231ms -
select descricao, id_tipo_comunicado_portal as id from tipo_comunicado_portal where id_tipo_comunicado_portal in ( select id_tipo_comunicado_portal from comunicado_portal cp where (exists ( select id_grupo_usuario from comunicado_grupo_usuario cgu inner join comunicado_unidade_funcional uf on uf.id_comunicado_portal = cp.id_comunicado_portal where cgu.id_comunicado_portal = cp.id_comunicado_portal and cgu.id_grupo_usuario in ( select id_grupo_usuario from usuario_grupo_unidade where id_usuario = $1 and id_assunto_hierarquia_unidade = $2) and (uf.id_unidade_funcional in ( select id_unidade_funcional from usuario_grupo_unidade where id_usuario = $3 and id_assunto_hierarquia_unidade = $4) or uf.id_unidade_funcional in ( select id_unidade_funcional from perfil_extendido where id_usuario = $5 and id_assunto_hierarquia_unidade = $6))) or flg_acesso_publico) and id_comunicado_portal in ( select id_comunicado_portal from comunicado_unidade_funcional where id_unidade_funcional = $7 and id_status_portal = $8) and cp.data <= $9);
Date: 2024-12-16 01:11:20 Duration: 4s231ms Database: postgres
2 775ms 1 775ms 775ms 775ms select total_materia.total, ano_semestre.ano || ( case when ano_semestre.semestre isnull then '' else '/' || ano_semestre.semestre end) as ano_sem, curso.sigla as curso, turma_regencia_atribuicao.id_turma as id_turma, turma.flg_especial, turma.nome as turma, turma_serie.id_serie as id_serie, serie.descricao as serie, disciplina.id_disciplina, disciplina.descricao as disciplina, (unidade_funcional.codigo || ' - ' || unidade_funcional.nome) as escola, unidade_funcional.id_unidade_funcional as id_uf, turno.descricao as turno from cidadao_usuario inner join turma_regencia_atrib_srv on turma_regencia_atrib_srv.id_cidadao = cidadao_usuario.id_cidadao inner join turma_regencia_atribuicao on turma_regencia_atribuicao.id_turma_regencia_atribuicao = turma_regencia_atrib_srv.id_turma_regencia_atribuicao inner join turma on turma.id_turma = turma_regencia_atribuicao.id_turma inner join unidade_funcional on turma.id_unidade_funcional = unidade_funcional.id_unidade_funcional inner join turno on turma.id_turno = turno.id_turno inner join curso on turma.id_curso = curso.id_curso inner join ano_semestre on turma.id_ano_semestre = ano_semestre.id_ano_semestre left join turma_serie on turma_serie.id_turma = turma_regencia_atribuicao.id_turma left join serie on serie.id_serie = turma_serie.id_serie left join componente_curricular on componente_curricular.id_grade_curricular = turma_serie.id_grade_curricular left join disciplina on disciplina.id_disciplina = componente_curricular.id_disciplina left join ( select count(*) as total, minha_materia_arquivo.id_turma as id_turma_arquivo, minha_materia_arquivo.id_disciplina as id_disciplina_arquivo, minha_materia_arquivo.id_serie as id_serie_arquivo from minha_materia_arquivo inner join arquivo on arquivo.id_arquivo = minha_materia_arquivo.id_arquivo group by arquivo.id_usuario_autor, minha_materia_arquivo.id_turma, minha_materia_arquivo.id_disciplina, minha_materia_arquivo.id_serie) total_materia on total_materia.id_turma_arquivo = turma_regencia_atribuicao.id_turma and total_materia.id_disciplina_arquivo = disciplina.id_disciplina and total_materia.id_serie_arquivo = turma_serie.id_serie where not turma.flg_especial and id_usuario = $1 union select total_materia.total, ano_semestre.ano || ( case when ano_semestre.semestre isnull then '' else '/' || ano_semestre.semestre end) as ano_sem, curso.sigla as curso, turma_regencia_atribuicao.id_turma as id_turma, turma.flg_especial, turma.nome as turma, null as id_serie, null as serie, case when turma_especial.id_disciplina is null then '999' else turma_especial.id_disciplina end as id_disciplina, case when turma_especial.id_disciplina is null then projeto_especial.nome else disciplina_especial.descricao end as disciplina, (unidade_funcional.codigo || ' - ' || unidade_funcional.nome) as escola, unidade_funcional.id_unidade_funcional as id_uf, turno.descricao as turno from cidadao_usuario inner join turma_regencia_atrib_srv on turma_regencia_atrib_srv.id_cidadao = cidadao_usuario.id_cidadao inner join turma_regencia_atribuicao on turma_regencia_atribuicao.id_turma_regencia_atribuicao = turma_regencia_atrib_srv.id_turma_regencia_atribuicao inner join turma on turma.id_turma = turma_regencia_atribuicao.id_turma inner join unidade_funcional on turma.id_unidade_funcional = unidade_funcional.id_unidade_funcional inner join turno on turma.id_turno = turno.id_turno inner join curso on turma.id_curso = curso.id_curso inner join ano_semestre on turma.id_ano_semestre = ano_semestre.id_ano_semestre left join turma_especial on turma_especial.id_turma = turma.id_turma left join disciplina as disciplina_especial on disciplina_especial.id_disciplina = turma_especial.id_disciplina left join projeto_especial on projeto_especial.id_turma = turma.id_turma left join ( select count(*) as total, minha_materia_arquivo.id_turma as id_turma_arquivo, minha_materia_arquivo.id_disciplina as id_disciplina_arquivo, minha_materia_arquivo.id_serie as id_serie_arquivo from minha_materia_arquivo inner join arquivo on arquivo.id_arquivo = minha_materia_arquivo.id_arquivo group by arquivo.id_usuario_autor, minha_materia_arquivo.id_turma, minha_materia_arquivo.id_disciplina, minha_materia_arquivo.id_serie) total_materia on total_materia.id_turma_arquivo = turma_regencia_atribuicao.id_turma where turma.flg_especial and id_usuario = $2 union select total_materia.total, ano_semestre.ano || ( case when ano_semestre.semestre isnull then '' else '/' || ano_semestre.semestre end) as ano_sem, curso.sigla as curso, turma_componente.id_turma, turma.flg_especial, turma.nome as turma, turma_serie.id_serie as id_serie, serie.descricao as serie, ( case when (disciplina.id_disciplina is null) then (turma_especial.id_disciplina) else (disciplina.id_disciplina) end) as id_disciplina, disciplina.descricao as disciplina, (unidade_funcional.codigo || ' - ' || unidade_funcional.nome) as escola, unidade_funcional.id_unidade_funcional as id_uf, turno.descricao as turno from cidadao_usuario inner join turma_componente_servidor on turma_componente_servidor.id_cidadao = cidadao_usuario.id_cidadao inner join turma_componente on turma_componente.id_turma_componente = turma_componente_servidor.id_turma_componente inner join turma on turma.id_turma = turma_componente.id_turma inner join unidade_funcional on turma.id_unidade_funcional = unidade_funcional.id_unidade_funcional inner join turno on turma.id_turno = turno.id_turno inner join curso on turma.id_curso = curso.id_curso inner join ano_semestre on turma.id_ano_semestre = ano_semestre.id_ano_semestre left join turma_serie on turma_serie.id_turma = turma_componente.id_turma left join serie on serie.id_serie = turma_serie.id_serie left join componente_curricular on componente_curricular.id_componente_curricular = turma_componente.id_componente_curricular left join disciplina on disciplina.id_disciplina = componente_curricular.id_disciplina left join turma_especial on turma_especial.id_turma = turma.id_turma left join ( select count(*) as total, minha_materia_arquivo.id_turma as id_turma_arquivo, minha_materia_arquivo.id_disciplina as id_disciplina_arquivo, minha_materia_arquivo.id_serie as id_serie_arquivo from minha_materia_arquivo inner join arquivo on arquivo.id_arquivo = minha_materia_arquivo.id_arquivo group by arquivo.id_usuario_autor, minha_materia_arquivo.id_turma, minha_materia_arquivo.id_disciplina, minha_materia_arquivo.id_serie) total_materia on total_materia.id_turma_arquivo = turma_componente.id_turma and total_materia.id_disciplina_arquivo = disciplina.id_disciplina and total_materia.id_serie_arquivo = turma_serie.id_serie where id_usuario = $3 order by escola, turma, serie, disciplina;Times Reported Time consuming prepare #2
Day Hour Count Duration Avg duration 07 1 775ms 775ms -
select total_materia.total, ano_semestre.ano || ( case when ano_semestre.semestre isnull then '' else '/' || ano_semestre.semestre end) as ano_sem, curso.sigla as curso, turma_regencia_atribuicao.id_turma as id_turma, turma.flg_especial, turma.nome as turma, turma_serie.id_serie as id_serie, serie.descricao as serie, disciplina.id_disciplina, disciplina.descricao as disciplina, (unidade_funcional.codigo || ' - ' || unidade_funcional.nome) as escola, unidade_funcional.id_unidade_funcional as id_uf, turno.descricao as turno from cidadao_usuario inner join turma_regencia_atrib_srv on turma_regencia_atrib_srv.id_cidadao = cidadao_usuario.id_cidadao inner join turma_regencia_atribuicao on turma_regencia_atribuicao.id_turma_regencia_atribuicao = turma_regencia_atrib_srv.id_turma_regencia_atribuicao inner join turma on turma.id_turma = turma_regencia_atribuicao.id_turma inner join unidade_funcional on turma.id_unidade_funcional = unidade_funcional.id_unidade_funcional inner join turno on turma.id_turno = turno.id_turno inner join curso on turma.id_curso = curso.id_curso inner join ano_semestre on turma.id_ano_semestre = ano_semestre.id_ano_semestre left join turma_serie on turma_serie.id_turma = turma_regencia_atribuicao.id_turma left join serie on serie.id_serie = turma_serie.id_serie left join componente_curricular on componente_curricular.id_grade_curricular = turma_serie.id_grade_curricular left join disciplina on disciplina.id_disciplina = componente_curricular.id_disciplina left join ( select count(*) as total, minha_materia_arquivo.id_turma as id_turma_arquivo, minha_materia_arquivo.id_disciplina as id_disciplina_arquivo, minha_materia_arquivo.id_serie as id_serie_arquivo from minha_materia_arquivo inner join arquivo on arquivo.id_arquivo = minha_materia_arquivo.id_arquivo group by arquivo.id_usuario_autor, minha_materia_arquivo.id_turma, minha_materia_arquivo.id_disciplina, minha_materia_arquivo.id_serie) total_materia on total_materia.id_turma_arquivo = turma_regencia_atribuicao.id_turma and total_materia.id_disciplina_arquivo = disciplina.id_disciplina and total_materia.id_serie_arquivo = turma_serie.id_serie where not turma.flg_especial and id_usuario = $1 union select total_materia.total, ano_semestre.ano || ( case when ano_semestre.semestre isnull then '' else '/' || ano_semestre.semestre end) as ano_sem, curso.sigla as curso, turma_regencia_atribuicao.id_turma as id_turma, turma.flg_especial, turma.nome as turma, null as id_serie, null as serie, case when turma_especial.id_disciplina is null then '999' else turma_especial.id_disciplina end as id_disciplina, case when turma_especial.id_disciplina is null then projeto_especial.nome else disciplina_especial.descricao end as disciplina, (unidade_funcional.codigo || ' - ' || unidade_funcional.nome) as escola, unidade_funcional.id_unidade_funcional as id_uf, turno.descricao as turno from cidadao_usuario inner join turma_regencia_atrib_srv on turma_regencia_atrib_srv.id_cidadao = cidadao_usuario.id_cidadao inner join turma_regencia_atribuicao on turma_regencia_atribuicao.id_turma_regencia_atribuicao = turma_regencia_atrib_srv.id_turma_regencia_atribuicao inner join turma on turma.id_turma = turma_regencia_atribuicao.id_turma inner join unidade_funcional on turma.id_unidade_funcional = unidade_funcional.id_unidade_funcional inner join turno on turma.id_turno = turno.id_turno inner join curso on turma.id_curso = curso.id_curso inner join ano_semestre on turma.id_ano_semestre = ano_semestre.id_ano_semestre left join turma_especial on turma_especial.id_turma = turma.id_turma left join disciplina as disciplina_especial on disciplina_especial.id_disciplina = turma_especial.id_disciplina left join projeto_especial on projeto_especial.id_turma = turma.id_turma left join ( select count(*) as total, minha_materia_arquivo.id_turma as id_turma_arquivo, minha_materia_arquivo.id_disciplina as id_disciplina_arquivo, minha_materia_arquivo.id_serie as id_serie_arquivo from minha_materia_arquivo inner join arquivo on arquivo.id_arquivo = minha_materia_arquivo.id_arquivo group by arquivo.id_usuario_autor, minha_materia_arquivo.id_turma, minha_materia_arquivo.id_disciplina, minha_materia_arquivo.id_serie) total_materia on total_materia.id_turma_arquivo = turma_regencia_atribuicao.id_turma where turma.flg_especial and id_usuario = $2 union select total_materia.total, ano_semestre.ano || ( case when ano_semestre.semestre isnull then '' else '/' || ano_semestre.semestre end) as ano_sem, curso.sigla as curso, turma_componente.id_turma, turma.flg_especial, turma.nome as turma, turma_serie.id_serie as id_serie, serie.descricao as serie, ( case when (disciplina.id_disciplina is null) then (turma_especial.id_disciplina) else (disciplina.id_disciplina) end) as id_disciplina, disciplina.descricao as disciplina, (unidade_funcional.codigo || ' - ' || unidade_funcional.nome) as escola, unidade_funcional.id_unidade_funcional as id_uf, turno.descricao as turno from cidadao_usuario inner join turma_componente_servidor on turma_componente_servidor.id_cidadao = cidadao_usuario.id_cidadao inner join turma_componente on turma_componente.id_turma_componente = turma_componente_servidor.id_turma_componente inner join turma on turma.id_turma = turma_componente.id_turma inner join unidade_funcional on turma.id_unidade_funcional = unidade_funcional.id_unidade_funcional inner join turno on turma.id_turno = turno.id_turno inner join curso on turma.id_curso = curso.id_curso inner join ano_semestre on turma.id_ano_semestre = ano_semestre.id_ano_semestre left join turma_serie on turma_serie.id_turma = turma_componente.id_turma left join serie on serie.id_serie = turma_serie.id_serie left join componente_curricular on componente_curricular.id_componente_curricular = turma_componente.id_componente_curricular left join disciplina on disciplina.id_disciplina = componente_curricular.id_disciplina left join turma_especial on turma_especial.id_turma = turma.id_turma left join ( select count(*) as total, minha_materia_arquivo.id_turma as id_turma_arquivo, minha_materia_arquivo.id_disciplina as id_disciplina_arquivo, minha_materia_arquivo.id_serie as id_serie_arquivo from minha_materia_arquivo inner join arquivo on arquivo.id_arquivo = minha_materia_arquivo.id_arquivo group by arquivo.id_usuario_autor, minha_materia_arquivo.id_turma, minha_materia_arquivo.id_disciplina, minha_materia_arquivo.id_serie) total_materia on total_materia.id_turma_arquivo = turma_componente.id_turma and total_materia.id_disciplina_arquivo = disciplina.id_disciplina and total_materia.id_serie_arquivo = turma_serie.id_serie where id_usuario = $3 order by escola, turma, serie, disciplina;
Date: 2024-12-16 08:16:36 Duration: 775ms Database: postgres
Time consuming bind
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 2m4s 196 501ms 1s533ms 636ms select id_aluno_matricula, chamada, nome, id_periodo_inicio_apontamento, id_periodo_retorno_nao_frequente, nota, flg_nao_compareceu, conceito, falta_justificada, falta_nao_justificada, qtd_faltas, denominacao, media, greatest (nota, media) as nota_recuperacao, id_forma_avaliacao, valor_nota_min_aprovacao::float4, case when id_nota_periodo_aluno = $1 and id_forma_avaliacao_componente <> 2 then ( select case when id_tipo_resultado_final = $2 then sum(nb.nota) else avg(nb.nota) end from ( select case -- quando a recuperação semestral for maior que a média semestral, -- ela substitui a nota bimestral dos dois periodos when flg_substituido_rec_sem and nota_rec_sem1 > media1 then nota_rec_sem1 when flg_substituido_rec_seg and nota_rec_sem2 > media2 then nota_rec_sem2 else n.nota end as nota from nota_aluno n inner join turma_periodo tp on tp.id_turma = n.id_turma and n.id_nota_periodo_aluno = tp.id_nota_periodo_aluno inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = n.id_nota_periodo_aluno where n.id_aluno_matricula = t.id_aluno_matricula and n.id_turma = t.id_turma and n.id_disciplina = t.id_disciplina) nb) else null end::float4 as nota_verificar_recuperacao, exibir_na_recuperacao from ( select amt.id_aluno_matricula, amt.chamada, amt.id_turma, c.nome, amt.id_periodo_inicio_apont_turma as id_periodo_inicio_apontamento, amt.id_periodo_retorno_nao_frequente, nota_aluno.nota, coalesce(nota_aluno.flg_nao_compareceu, false) as flg_nao_compareceu, nota_aluno.id_conceito_avaliacao as conceito, falta_aluno.falta_justificada, falta_aluno.falta_nao_justificada, falta_aluno.qtd_faltas, c.denominacao, npa.id_nota_periodo_aluno, d.id_disciplina, s.id_forma_avaliacao, cc.id_forma_avaliacao_componente, pa.id_tipo_resultado_final, cu.flg_permite_recuperacao_semestral, t.flg_atividade_avaliativa, s.valor_maximo_nota * pa.nota_min_aprovacao / 100.0 as valor_nota_min_aprovacao, rec_sem1.nota as nota_rec_sem1, rec_sem2.nota as nota_rec_sem2, case when npa.id_nota_periodo_aluno = $3 and s.id_forma_avaliacao = 2 then coalesce(( select ca.flg_aprova is false from nota_aluno n inner join conceito_avaliacao ca on ca.id_conceito_avaliacao = n.id_conceito_avaliacao where n.id_aluno_matricula = amt.id_aluno_matricula and n.id_turma = amt.id_turma and n.id_disciplina = d.id_disciplina and n.id_nota_periodo_aluno = $4), true) else false end as exibir_na_recuperacao, case -- média do 1o semestre when cu.flg_permite_recuperacao_semestral and npa.id_nota_periodo_aluno = $5 then ( select avg(n.nota) from nota_aluno n inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = n.id_nota_periodo_aluno where n.id_aluno_matricula = amt.id_aluno_matricula and n.id_turma = amt.id_turma and n.id_disciplina = d.id_disciplina and npa.flg_substituido_rec_sem) -- média do 2o semestre when cu.flg_permite_recuperacao_segundo_semestre and npa.id_nota_periodo_aluno = $6 then ( select avg(n.nota) from nota_aluno n inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = n.id_nota_periodo_aluno where n.id_aluno_matricula = amt.id_aluno_matricula and n.id_turma = amt.id_turma and n.id_disciplina = d.id_disciplina and npa.flg_substituido_rec_seg) else null end as media, case -- média do 1o semestre when cu.flg_permite_recuperacao_semestral and npa.id_nota_periodo_aluno in ($7, $8) then ( select avg(n.nota) from nota_aluno n inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = n.id_nota_periodo_aluno where n.id_aluno_matricula = amt.id_aluno_matricula and n.id_turma = amt.id_turma and n.id_disciplina = d.id_disciplina and npa.flg_substituido_rec_sem) else null end as media1, case -- média do 2o semestre when cu.flg_permite_recuperacao_segundo_semestre and npa.id_nota_periodo_aluno in ($9, $10) then ( select avg(n.nota) from nota_aluno n inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = n.id_nota_periodo_aluno where n.id_aluno_matricula = amt.id_aluno_matricula and n.id_turma = amt.id_turma and n.id_disciplina = d.id_disciplina and npa.flg_substituido_rec_seg) else null end as media2 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 aluno a on a.id_cidadao = am.id_cidadao inner join cidadao c on c.id_cidadao = am.id_cidadao inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie and s.id_serie = amt.id_serie_enturmacao inner join curso cu on cu.id_curso = s.id_curso inner join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao cross join nota_periodo_aluno npa cross join disciplina d inner join turma_disciplina td on td.id_turma = t.id_turma and td.id_disciplina = d.id_disciplina and td.id_grade_curricular = ts.id_grade_curricular inner join componente_curricular cc on cc.id_componente_curricular = td.id_componente_curricular left join cidadao_saude cs on cs.id_cidadao = c.id_cidadao left join nota_aluno on nota_aluno.id_aluno_matricula = am.id_aluno_matricula and nota_aluno.id_turma = amt.id_turma and nota_aluno.id_disciplina = d.id_disciplina and nota_aluno.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join nota_aluno rec_sem1 on rec_sem1.id_aluno_matricula = am.id_aluno_matricula and rec_sem1.id_turma = amt.id_turma and rec_sem1.id_disciplina = d.id_disciplina and rec_sem1.id_nota_periodo_aluno = $11 left join nota_aluno rec_sem2 on rec_sem2.id_aluno_matricula = am.id_aluno_matricula and rec_sem2.id_turma = amt.id_turma and rec_sem2.id_disciplina = d.id_disciplina and rec_sem2.id_nota_periodo_aluno = $12 left join falta_aluno_disciplina falta_aluno on falta_aluno.id_aluno_matricula = am.id_aluno_matricula and falta_aluno.id_turma = amt.id_turma and falta_aluno.id_disciplina = d.id_disciplina and falta_aluno.id_nota_periodo_aluno = npa.id_nota_periodo_aluno where amt.id_turma = $13 and am.id_aluno_matr_status = $14 and d.id_disciplina = $15 and npa.id_nota_periodo_aluno = $16 and s.id_serie = $17 and coalesce(am.flg_parecer_descritivo, false) is false 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[$18])) and not exists ( select null from aluno_matr_dispensa_periodo amdp inner join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amdp.id_aluno_matricula = amt.id_aluno_matricula and (mdp.periodos @> ARRAY[$19]) is true) and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= $20) and amt.data_saida is null) t order by chamada;Times Reported Time consuming bind #1
Day Hour Count Duration Avg duration Dec 16 08 31 19s773ms 637ms 09 58 35s672ms 615ms 10 76 50s350ms 662ms 11 31 19s44ms 614ms -
select id_aluno_matricula, chamada, nome, id_periodo_inicio_apontamento, id_periodo_retorno_nao_frequente, nota, flg_nao_compareceu, conceito, falta_justificada, falta_nao_justificada, qtd_faltas, denominacao, media, greatest (nota, media) as nota_recuperacao, id_forma_avaliacao, valor_nota_min_aprovacao::float4, case when id_nota_periodo_aluno = $1 and id_forma_avaliacao_componente <> 2 then ( select case when id_tipo_resultado_final = $2 then sum(nb.nota) else avg(nb.nota) end from ( select case -- quando a recuperação semestral for maior que a média semestral, -- ela substitui a nota bimestral dos dois periodos when flg_substituido_rec_sem and nota_rec_sem1 > media1 then nota_rec_sem1 when flg_substituido_rec_seg and nota_rec_sem2 > media2 then nota_rec_sem2 else n.nota end as nota from nota_aluno n inner join turma_periodo tp on tp.id_turma = n.id_turma and n.id_nota_periodo_aluno = tp.id_nota_periodo_aluno inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = n.id_nota_periodo_aluno where n.id_aluno_matricula = t.id_aluno_matricula and n.id_turma = t.id_turma and n.id_disciplina = t.id_disciplina) nb) else null end::float4 as nota_verificar_recuperacao, exibir_na_recuperacao from ( select amt.id_aluno_matricula, amt.chamada, amt.id_turma, c.nome, amt.id_periodo_inicio_apont_turma as id_periodo_inicio_apontamento, amt.id_periodo_retorno_nao_frequente, nota_aluno.nota, coalesce(nota_aluno.flg_nao_compareceu, false) as flg_nao_compareceu, nota_aluno.id_conceito_avaliacao as conceito, falta_aluno.falta_justificada, falta_aluno.falta_nao_justificada, falta_aluno.qtd_faltas, c.denominacao, npa.id_nota_periodo_aluno, d.id_disciplina, s.id_forma_avaliacao, cc.id_forma_avaliacao_componente, pa.id_tipo_resultado_final, cu.flg_permite_recuperacao_semestral, t.flg_atividade_avaliativa, s.valor_maximo_nota * pa.nota_min_aprovacao / 100.0 as valor_nota_min_aprovacao, rec_sem1.nota as nota_rec_sem1, rec_sem2.nota as nota_rec_sem2, case when npa.id_nota_periodo_aluno = $3 and s.id_forma_avaliacao = 2 then coalesce(( select ca.flg_aprova is false from nota_aluno n inner join conceito_avaliacao ca on ca.id_conceito_avaliacao = n.id_conceito_avaliacao where n.id_aluno_matricula = amt.id_aluno_matricula and n.id_turma = amt.id_turma and n.id_disciplina = d.id_disciplina and n.id_nota_periodo_aluno = $4), true) else false end as exibir_na_recuperacao, case -- média do 1o semestre when cu.flg_permite_recuperacao_semestral and npa.id_nota_periodo_aluno = $5 then ( select avg(n.nota) from nota_aluno n inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = n.id_nota_periodo_aluno where n.id_aluno_matricula = amt.id_aluno_matricula and n.id_turma = amt.id_turma and n.id_disciplina = d.id_disciplina and npa.flg_substituido_rec_sem) -- média do 2o semestre when cu.flg_permite_recuperacao_segundo_semestre and npa.id_nota_periodo_aluno = $6 then ( select avg(n.nota) from nota_aluno n inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = n.id_nota_periodo_aluno where n.id_aluno_matricula = amt.id_aluno_matricula and n.id_turma = amt.id_turma and n.id_disciplina = d.id_disciplina and npa.flg_substituido_rec_seg) else null end as media, case -- média do 1o semestre when cu.flg_permite_recuperacao_semestral and npa.id_nota_periodo_aluno in ($7, $8) then ( select avg(n.nota) from nota_aluno n inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = n.id_nota_periodo_aluno where n.id_aluno_matricula = amt.id_aluno_matricula and n.id_turma = amt.id_turma and n.id_disciplina = d.id_disciplina and npa.flg_substituido_rec_sem) else null end as media1, case -- média do 2o semestre when cu.flg_permite_recuperacao_segundo_semestre and npa.id_nota_periodo_aluno in ($9, $10) then ( select avg(n.nota) from nota_aluno n inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = n.id_nota_periodo_aluno where n.id_aluno_matricula = amt.id_aluno_matricula and n.id_turma = amt.id_turma and n.id_disciplina = d.id_disciplina and npa.flg_substituido_rec_seg) else null end as media2 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 aluno a on a.id_cidadao = am.id_cidadao inner join cidadao c on c.id_cidadao = am.id_cidadao inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie and s.id_serie = amt.id_serie_enturmacao inner join curso cu on cu.id_curso = s.id_curso inner join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao cross join nota_periodo_aluno npa cross join disciplina d inner join turma_disciplina td on td.id_turma = t.id_turma and td.id_disciplina = d.id_disciplina and td.id_grade_curricular = ts.id_grade_curricular inner join componente_curricular cc on cc.id_componente_curricular = td.id_componente_curricular left join cidadao_saude cs on cs.id_cidadao = c.id_cidadao left join nota_aluno on nota_aluno.id_aluno_matricula = am.id_aluno_matricula and nota_aluno.id_turma = amt.id_turma and nota_aluno.id_disciplina = d.id_disciplina and nota_aluno.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join nota_aluno rec_sem1 on rec_sem1.id_aluno_matricula = am.id_aluno_matricula and rec_sem1.id_turma = amt.id_turma and rec_sem1.id_disciplina = d.id_disciplina and rec_sem1.id_nota_periodo_aluno = $11 left join nota_aluno rec_sem2 on rec_sem2.id_aluno_matricula = am.id_aluno_matricula and rec_sem2.id_turma = amt.id_turma and rec_sem2.id_disciplina = d.id_disciplina and rec_sem2.id_nota_periodo_aluno = $12 left join falta_aluno_disciplina falta_aluno on falta_aluno.id_aluno_matricula = am.id_aluno_matricula and falta_aluno.id_turma = amt.id_turma and falta_aluno.id_disciplina = d.id_disciplina and falta_aluno.id_nota_periodo_aluno = npa.id_nota_periodo_aluno where amt.id_turma = $13 and am.id_aluno_matr_status = $14 and d.id_disciplina = $15 and npa.id_nota_periodo_aluno = $16 and s.id_serie = $17 and coalesce(am.flg_parecer_descritivo, false) is false 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[$18])) and not exists ( select null from aluno_matr_dispensa_periodo amdp inner join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amdp.id_aluno_matricula = amt.id_aluno_matricula and (mdp.periodos @> ARRAY[$19]) is true) and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= $20) and amt.data_saida is null) t order by chamada;
Date: 2024-12-16 10:33:37 Duration: 1s533ms Database: postgres parameters: $1 = 'cicerajanainacicera@gmail.com', $2 = '92'
-
select id_aluno_matricula, chamada, nome, id_periodo_inicio_apontamento, id_periodo_retorno_nao_frequente, nota, flg_nao_compareceu, conceito, falta_justificada, falta_nao_justificada, qtd_faltas, denominacao, media, greatest (nota, media) as nota_recuperacao, id_forma_avaliacao, valor_nota_min_aprovacao::float4, case when id_nota_periodo_aluno = $1 and id_forma_avaliacao_componente <> 2 then ( select case when id_tipo_resultado_final = $2 then sum(nb.nota) else avg(nb.nota) end from ( select case -- quando a recuperação semestral for maior que a média semestral, -- ela substitui a nota bimestral dos dois periodos when flg_substituido_rec_sem and nota_rec_sem1 > media1 then nota_rec_sem1 when flg_substituido_rec_seg and nota_rec_sem2 > media2 then nota_rec_sem2 else n.nota end as nota from nota_aluno n inner join turma_periodo tp on tp.id_turma = n.id_turma and n.id_nota_periodo_aluno = tp.id_nota_periodo_aluno inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = n.id_nota_periodo_aluno where n.id_aluno_matricula = t.id_aluno_matricula and n.id_turma = t.id_turma and n.id_disciplina = t.id_disciplina) nb) else null end::float4 as nota_verificar_recuperacao, exibir_na_recuperacao from ( select amt.id_aluno_matricula, amt.chamada, amt.id_turma, c.nome, amt.id_periodo_inicio_apont_turma as id_periodo_inicio_apontamento, amt.id_periodo_retorno_nao_frequente, nota_aluno.nota, coalesce(nota_aluno.flg_nao_compareceu, false) as flg_nao_compareceu, nota_aluno.id_conceito_avaliacao as conceito, falta_aluno.falta_justificada, falta_aluno.falta_nao_justificada, falta_aluno.qtd_faltas, c.denominacao, npa.id_nota_periodo_aluno, d.id_disciplina, s.id_forma_avaliacao, cc.id_forma_avaliacao_componente, pa.id_tipo_resultado_final, cu.flg_permite_recuperacao_semestral, t.flg_atividade_avaliativa, s.valor_maximo_nota * pa.nota_min_aprovacao / 100.0 as valor_nota_min_aprovacao, rec_sem1.nota as nota_rec_sem1, rec_sem2.nota as nota_rec_sem2, case when npa.id_nota_periodo_aluno = $3 and s.id_forma_avaliacao = 2 then coalesce(( select ca.flg_aprova is false from nota_aluno n inner join conceito_avaliacao ca on ca.id_conceito_avaliacao = n.id_conceito_avaliacao where n.id_aluno_matricula = amt.id_aluno_matricula and n.id_turma = amt.id_turma and n.id_disciplina = d.id_disciplina and n.id_nota_periodo_aluno = $4), true) else false end as exibir_na_recuperacao, case -- média do 1o semestre when cu.flg_permite_recuperacao_semestral and npa.id_nota_periodo_aluno = $5 then ( select avg(n.nota) from nota_aluno n inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = n.id_nota_periodo_aluno where n.id_aluno_matricula = amt.id_aluno_matricula and n.id_turma = amt.id_turma and n.id_disciplina = d.id_disciplina and npa.flg_substituido_rec_sem) -- média do 2o semestre when cu.flg_permite_recuperacao_segundo_semestre and npa.id_nota_periodo_aluno = $6 then ( select avg(n.nota) from nota_aluno n inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = n.id_nota_periodo_aluno where n.id_aluno_matricula = amt.id_aluno_matricula and n.id_turma = amt.id_turma and n.id_disciplina = d.id_disciplina and npa.flg_substituido_rec_seg) else null end as media, case -- média do 1o semestre when cu.flg_permite_recuperacao_semestral and npa.id_nota_periodo_aluno in ($7, $8) then ( select avg(n.nota) from nota_aluno n inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = n.id_nota_periodo_aluno where n.id_aluno_matricula = amt.id_aluno_matricula and n.id_turma = amt.id_turma and n.id_disciplina = d.id_disciplina and npa.flg_substituido_rec_sem) else null end as media1, case -- média do 2o semestre when cu.flg_permite_recuperacao_segundo_semestre and npa.id_nota_periodo_aluno in ($9, $10) then ( select avg(n.nota) from nota_aluno n inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = n.id_nota_periodo_aluno where n.id_aluno_matricula = amt.id_aluno_matricula and n.id_turma = amt.id_turma and n.id_disciplina = d.id_disciplina and npa.flg_substituido_rec_seg) else null end as media2 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 aluno a on a.id_cidadao = am.id_cidadao inner join cidadao c on c.id_cidadao = am.id_cidadao inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie and s.id_serie = amt.id_serie_enturmacao inner join curso cu on cu.id_curso = s.id_curso inner join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao cross join nota_periodo_aluno npa cross join disciplina d inner join turma_disciplina td on td.id_turma = t.id_turma and td.id_disciplina = d.id_disciplina and td.id_grade_curricular = ts.id_grade_curricular inner join componente_curricular cc on cc.id_componente_curricular = td.id_componente_curricular left join cidadao_saude cs on cs.id_cidadao = c.id_cidadao left join nota_aluno on nota_aluno.id_aluno_matricula = am.id_aluno_matricula and nota_aluno.id_turma = amt.id_turma and nota_aluno.id_disciplina = d.id_disciplina and nota_aluno.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join nota_aluno rec_sem1 on rec_sem1.id_aluno_matricula = am.id_aluno_matricula and rec_sem1.id_turma = amt.id_turma and rec_sem1.id_disciplina = d.id_disciplina and rec_sem1.id_nota_periodo_aluno = $11 left join nota_aluno rec_sem2 on rec_sem2.id_aluno_matricula = am.id_aluno_matricula and rec_sem2.id_turma = amt.id_turma and rec_sem2.id_disciplina = d.id_disciplina and rec_sem2.id_nota_periodo_aluno = $12 left join falta_aluno_disciplina falta_aluno on falta_aluno.id_aluno_matricula = am.id_aluno_matricula and falta_aluno.id_turma = amt.id_turma and falta_aluno.id_disciplina = d.id_disciplina and falta_aluno.id_nota_periodo_aluno = npa.id_nota_periodo_aluno where amt.id_turma = $13 and am.id_aluno_matr_status = $14 and d.id_disciplina = $15 and npa.id_nota_periodo_aluno = $16 and s.id_serie = $17 and coalesce(am.flg_parecer_descritivo, false) is false 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[$18])) and not exists ( select null from aluno_matr_dispensa_periodo amdp inner join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amdp.id_aluno_matricula = amt.id_aluno_matricula and (mdp.periodos @> ARRAY[$19]) is true) and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= $20) and amt.data_saida is null) t order by chamada;
Date: 2024-12-16 08:56:55 Duration: 1s397ms Database: postgres parameters: $1 = '0', $2 = '17367036', $3 = '0', $4 = '240008714', $5 = '1982', $6 = '1839'
-
select id_aluno_matricula, chamada, nome, id_periodo_inicio_apontamento, id_periodo_retorno_nao_frequente, nota, flg_nao_compareceu, conceito, falta_justificada, falta_nao_justificada, qtd_faltas, denominacao, media, greatest (nota, media) as nota_recuperacao, id_forma_avaliacao, valor_nota_min_aprovacao::float4, case when id_nota_periodo_aluno = $1 and id_forma_avaliacao_componente <> 2 then ( select case when id_tipo_resultado_final = $2 then sum(nb.nota) else avg(nb.nota) end from ( select case -- quando a recuperação semestral for maior que a média semestral, -- ela substitui a nota bimestral dos dois periodos when flg_substituido_rec_sem and nota_rec_sem1 > media1 then nota_rec_sem1 when flg_substituido_rec_seg and nota_rec_sem2 > media2 then nota_rec_sem2 else n.nota end as nota from nota_aluno n inner join turma_periodo tp on tp.id_turma = n.id_turma and n.id_nota_periodo_aluno = tp.id_nota_periodo_aluno inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = n.id_nota_periodo_aluno where n.id_aluno_matricula = t.id_aluno_matricula and n.id_turma = t.id_turma and n.id_disciplina = t.id_disciplina) nb) else null end::float4 as nota_verificar_recuperacao, exibir_na_recuperacao from ( select amt.id_aluno_matricula, amt.chamada, amt.id_turma, c.nome, amt.id_periodo_inicio_apont_turma as id_periodo_inicio_apontamento, amt.id_periodo_retorno_nao_frequente, nota_aluno.nota, coalesce(nota_aluno.flg_nao_compareceu, false) as flg_nao_compareceu, nota_aluno.id_conceito_avaliacao as conceito, falta_aluno.falta_justificada, falta_aluno.falta_nao_justificada, falta_aluno.qtd_faltas, c.denominacao, npa.id_nota_periodo_aluno, d.id_disciplina, s.id_forma_avaliacao, cc.id_forma_avaliacao_componente, pa.id_tipo_resultado_final, cu.flg_permite_recuperacao_semestral, t.flg_atividade_avaliativa, s.valor_maximo_nota * pa.nota_min_aprovacao / 100.0 as valor_nota_min_aprovacao, rec_sem1.nota as nota_rec_sem1, rec_sem2.nota as nota_rec_sem2, case when npa.id_nota_periodo_aluno = $3 and s.id_forma_avaliacao = 2 then coalesce(( select ca.flg_aprova is false from nota_aluno n inner join conceito_avaliacao ca on ca.id_conceito_avaliacao = n.id_conceito_avaliacao where n.id_aluno_matricula = amt.id_aluno_matricula and n.id_turma = amt.id_turma and n.id_disciplina = d.id_disciplina and n.id_nota_periodo_aluno = $4), true) else false end as exibir_na_recuperacao, case -- média do 1o semestre when cu.flg_permite_recuperacao_semestral and npa.id_nota_periodo_aluno = $5 then ( select avg(n.nota) from nota_aluno n inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = n.id_nota_periodo_aluno where n.id_aluno_matricula = amt.id_aluno_matricula and n.id_turma = amt.id_turma and n.id_disciplina = d.id_disciplina and npa.flg_substituido_rec_sem) -- média do 2o semestre when cu.flg_permite_recuperacao_segundo_semestre and npa.id_nota_periodo_aluno = $6 then ( select avg(n.nota) from nota_aluno n inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = n.id_nota_periodo_aluno where n.id_aluno_matricula = amt.id_aluno_matricula and n.id_turma = amt.id_turma and n.id_disciplina = d.id_disciplina and npa.flg_substituido_rec_seg) else null end as media, case -- média do 1o semestre when cu.flg_permite_recuperacao_semestral and npa.id_nota_periodo_aluno in ($7, $8) then ( select avg(n.nota) from nota_aluno n inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = n.id_nota_periodo_aluno where n.id_aluno_matricula = amt.id_aluno_matricula and n.id_turma = amt.id_turma and n.id_disciplina = d.id_disciplina and npa.flg_substituido_rec_sem) else null end as media1, case -- média do 2o semestre when cu.flg_permite_recuperacao_segundo_semestre and npa.id_nota_periodo_aluno in ($9, $10) then ( select avg(n.nota) from nota_aluno n inner join nota_periodo_aluno npa on npa.id_nota_periodo_aluno = n.id_nota_periodo_aluno where n.id_aluno_matricula = amt.id_aluno_matricula and n.id_turma = amt.id_turma and n.id_disciplina = d.id_disciplina and npa.flg_substituido_rec_seg) else null end as media2 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 aluno a on a.id_cidadao = am.id_cidadao inner join cidadao c on c.id_cidadao = am.id_cidadao inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie and s.id_serie = amt.id_serie_enturmacao inner join curso cu on cu.id_curso = s.id_curso inner join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao cross join nota_periodo_aluno npa cross join disciplina d inner join turma_disciplina td on td.id_turma = t.id_turma and td.id_disciplina = d.id_disciplina and td.id_grade_curricular = ts.id_grade_curricular inner join componente_curricular cc on cc.id_componente_curricular = td.id_componente_curricular left join cidadao_saude cs on cs.id_cidadao = c.id_cidadao left join nota_aluno on nota_aluno.id_aluno_matricula = am.id_aluno_matricula and nota_aluno.id_turma = amt.id_turma and nota_aluno.id_disciplina = d.id_disciplina and nota_aluno.id_nota_periodo_aluno = npa.id_nota_periodo_aluno left join nota_aluno rec_sem1 on rec_sem1.id_aluno_matricula = am.id_aluno_matricula and rec_sem1.id_turma = amt.id_turma and rec_sem1.id_disciplina = d.id_disciplina and rec_sem1.id_nota_periodo_aluno = $11 left join nota_aluno rec_sem2 on rec_sem2.id_aluno_matricula = am.id_aluno_matricula and rec_sem2.id_turma = amt.id_turma and rec_sem2.id_disciplina = d.id_disciplina and rec_sem2.id_nota_periodo_aluno = $12 left join falta_aluno_disciplina falta_aluno on falta_aluno.id_aluno_matricula = am.id_aluno_matricula and falta_aluno.id_turma = amt.id_turma and falta_aluno.id_disciplina = d.id_disciplina and falta_aluno.id_nota_periodo_aluno = npa.id_nota_periodo_aluno where amt.id_turma = $13 and am.id_aluno_matr_status = $14 and d.id_disciplina = $15 and npa.id_nota_periodo_aluno = $16 and s.id_serie = $17 and coalesce(am.flg_parecer_descritivo, false) is false 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[$18])) and not exists ( select null from aluno_matr_dispensa_periodo amdp inner join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo where amdp.id_aluno_matricula = amt.id_aluno_matricula and (mdp.periodos @> ARRAY[$19]) is true) and (amt.id_periodo_retorno_nao_frequente is null or amt.id_periodo_retorno_nao_frequente <= $20) and amt.data_saida is null) t order by chamada;
Date: 2024-12-16 09:22:27 Duration: 1s388ms Database: postgres parameters: $1 = '356939', $2 = '0', $3 = '0', $4 = '240015524', $5 = '2204', $6 = '2216'
2 48s467ms 66 503ms 1s495ms 734ms select date_part('year', calendario_periodo_data.data)::integer as ano, date_part('month', calendario_periodo_data.data)::integer as mes, coalesce(count( case when calendario_data.id_motivo_dia_nao_letivo is null and cc.flg_aponta_faltas is true then qh.id_horario_quadro_homologado else null end), 0)::integer as aulas, coalesce(sum(faltas.faltas), 0)::integer as faltas from aluno_matricula am inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario curso_cal on curso_cal.id_curso = curso.id_curso and curso_cal.ano = ano.ano and curso_cal.id_unidade_funcional = turma.id_unidade_funcional and curso.flg_calendario_diferenciado = true inner join calendario c on c.id_calendario = coalesce(turma.id_calendario_turma, curso_cal.id_calendario, ec.id_calendario) left join lateral ( select min(tp.periodo_calendario_inicio) as inicio, max(tp.periodo_calendario_fim) as fim from turma_periodo tp where tp.id_turma = amt.id_turma) as periodos on 1 = 1 inner join calendario_periodo periodo_inicio on periodo_inicio.id_calendario = c.id_calendario and periodo_inicio.ordem = periodos.inicio inner join calendario_periodo periodo_fim on periodo_fim.id_calendario = c.id_calendario and periodo_fim.ordem = periodos.fim left join lateral ( select amsh.id_aluno_matr_status, amsh.data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= $1 and amsh.id_aluno_matr_status not in (1, 5) order by amsh.data_ocorrencia desc limit 1) situacao on 1 = 1 inner join lateral ( select greatest (am.data_matricula::date, periodo_inicio.data_inicio) as inicio, least (periodo_fim.data_final, situacao.data_ocorrencia::date) as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = c.id_calendario inner join dia_semana on dia_semana.dia_semana_postgresql = extract(dow from calendario_periodo_data.data) left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = dia_semana.dia_semana inner join horario_quadro_homologado on horario_quadro_homologado.id_horario_quadro_homologado = qh.id_horario_quadro_homologado inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join lateral ( select count(falta.id_aluno_matricula)::integer as faltas from falta_aluno_disciplina_diario falta inner join horario_turma on horario_turma.id_horario_turma = falta.id_horario_turma where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = cc.id_disciplina and cc.flg_aponta_faltas is true and falta.data = calendario_periodo_data.data and calendario_data.id_motivo_dia_nao_letivo is null and falta.flg_justificada is false and horario_turma.horario_inicio = horario_quadro_homologado.horario_inicio and horario_turma.horario_termino = horario_quadro_homologado.horario_termino) as faltas on 1 = 1 where am.id_cidadao = $2 and ano.ano = $3 and calendario_periodo_data.data <= $4 and serie.flg_apon_falta_globalizado is false and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = cc.id_disciplina and (disp.flg_dispensado_todos_periodos is true or disp.periodos @> ARRAY[turma_periodo.id_nota_periodo_aluno])) and calendario_periodo_data.data between datas.inicio and datas.fim and (extract(dow from calendario_periodo_data.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null) and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= calendario_periodo_data.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= calendario_periodo_data.data) group by date_part('year', calendario_periodo_data.data), date_part('month', calendario_periodo_data.data) order by ano, mes;Times Reported Time consuming bind #2
Day Hour Count Duration Avg duration 07 15 9s460ms 630ms 08 26 18s633ms 716ms 09 18 14s497ms 805ms 10 7 5s876ms 839ms -
select date_part('year', calendario_periodo_data.data)::integer as ano, date_part('month', calendario_periodo_data.data)::integer as mes, coalesce(count( case when calendario_data.id_motivo_dia_nao_letivo is null and cc.flg_aponta_faltas is true then qh.id_horario_quadro_homologado else null end), 0)::integer as aulas, coalesce(sum(faltas.faltas), 0)::integer as faltas from aluno_matricula am inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario curso_cal on curso_cal.id_curso = curso.id_curso and curso_cal.ano = ano.ano and curso_cal.id_unidade_funcional = turma.id_unidade_funcional and curso.flg_calendario_diferenciado = true inner join calendario c on c.id_calendario = coalesce(turma.id_calendario_turma, curso_cal.id_calendario, ec.id_calendario) left join lateral ( select min(tp.periodo_calendario_inicio) as inicio, max(tp.periodo_calendario_fim) as fim from turma_periodo tp where tp.id_turma = amt.id_turma) as periodos on 1 = 1 inner join calendario_periodo periodo_inicio on periodo_inicio.id_calendario = c.id_calendario and periodo_inicio.ordem = periodos.inicio inner join calendario_periodo periodo_fim on periodo_fim.id_calendario = c.id_calendario and periodo_fim.ordem = periodos.fim left join lateral ( select amsh.id_aluno_matr_status, amsh.data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= $1 and amsh.id_aluno_matr_status not in (1, 5) order by amsh.data_ocorrencia desc limit 1) situacao on 1 = 1 inner join lateral ( select greatest (am.data_matricula::date, periodo_inicio.data_inicio) as inicio, least (periodo_fim.data_final, situacao.data_ocorrencia::date) as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = c.id_calendario inner join dia_semana on dia_semana.dia_semana_postgresql = extract(dow from calendario_periodo_data.data) left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = dia_semana.dia_semana inner join horario_quadro_homologado on horario_quadro_homologado.id_horario_quadro_homologado = qh.id_horario_quadro_homologado inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join lateral ( select count(falta.id_aluno_matricula)::integer as faltas from falta_aluno_disciplina_diario falta inner join horario_turma on horario_turma.id_horario_turma = falta.id_horario_turma where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = cc.id_disciplina and cc.flg_aponta_faltas is true and falta.data = calendario_periodo_data.data and calendario_data.id_motivo_dia_nao_letivo is null and falta.flg_justificada is false and horario_turma.horario_inicio = horario_quadro_homologado.horario_inicio and horario_turma.horario_termino = horario_quadro_homologado.horario_termino) as faltas on 1 = 1 where am.id_cidadao = $2 and ano.ano = $3 and calendario_periodo_data.data <= $4 and serie.flg_apon_falta_globalizado is false and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = cc.id_disciplina and (disp.flg_dispensado_todos_periodos is true or disp.periodos @> ARRAY[turma_periodo.id_nota_periodo_aluno])) and calendario_periodo_data.data between datas.inicio and datas.fim and (extract(dow from calendario_periodo_data.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null) and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= calendario_periodo_data.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= calendario_periodo_data.data) group by date_part('year', calendario_periodo_data.data), date_part('month', calendario_periodo_data.data) order by ano, mes;
Date: 2024-12-16 10:33:52 Duration: 1s495ms Database: postgres parameters: $1 = '2024-12-16', $2 = '1470987', $3 = '2024', $4 = '2024-12-16'
-
select date_part('year', calendario_periodo_data.data)::integer as ano, date_part('month', calendario_periodo_data.data)::integer as mes, coalesce(count( case when calendario_data.id_motivo_dia_nao_letivo is null and cc.flg_aponta_faltas is true then qh.id_horario_quadro_homologado else null end), 0)::integer as aulas, coalesce(sum(faltas.faltas), 0)::integer as faltas from aluno_matricula am inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario curso_cal on curso_cal.id_curso = curso.id_curso and curso_cal.ano = ano.ano and curso_cal.id_unidade_funcional = turma.id_unidade_funcional and curso.flg_calendario_diferenciado = true inner join calendario c on c.id_calendario = coalesce(turma.id_calendario_turma, curso_cal.id_calendario, ec.id_calendario) left join lateral ( select min(tp.periodo_calendario_inicio) as inicio, max(tp.periodo_calendario_fim) as fim from turma_periodo tp where tp.id_turma = amt.id_turma) as periodos on 1 = 1 inner join calendario_periodo periodo_inicio on periodo_inicio.id_calendario = c.id_calendario and periodo_inicio.ordem = periodos.inicio inner join calendario_periodo periodo_fim on periodo_fim.id_calendario = c.id_calendario and periodo_fim.ordem = periodos.fim left join lateral ( select amsh.id_aluno_matr_status, amsh.data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= $1 and amsh.id_aluno_matr_status not in (1, 5) order by amsh.data_ocorrencia desc limit 1) situacao on 1 = 1 inner join lateral ( select greatest (am.data_matricula::date, periodo_inicio.data_inicio) as inicio, least (periodo_fim.data_final, situacao.data_ocorrencia::date) as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = c.id_calendario inner join dia_semana on dia_semana.dia_semana_postgresql = extract(dow from calendario_periodo_data.data) left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = dia_semana.dia_semana inner join horario_quadro_homologado on horario_quadro_homologado.id_horario_quadro_homologado = qh.id_horario_quadro_homologado inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join lateral ( select count(falta.id_aluno_matricula)::integer as faltas from falta_aluno_disciplina_diario falta inner join horario_turma on horario_turma.id_horario_turma = falta.id_horario_turma where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = cc.id_disciplina and cc.flg_aponta_faltas is true and falta.data = calendario_periodo_data.data and calendario_data.id_motivo_dia_nao_letivo is null and falta.flg_justificada is false and horario_turma.horario_inicio = horario_quadro_homologado.horario_inicio and horario_turma.horario_termino = horario_quadro_homologado.horario_termino) as faltas on 1 = 1 where am.id_cidadao = $2 and ano.ano = $3 and calendario_periodo_data.data <= $4 and serie.flg_apon_falta_globalizado is false and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = cc.id_disciplina and (disp.flg_dispensado_todos_periodos is true or disp.periodos @> ARRAY[turma_periodo.id_nota_periodo_aluno])) and calendario_periodo_data.data between datas.inicio and datas.fim and (extract(dow from calendario_periodo_data.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null) and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= calendario_periodo_data.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= calendario_periodo_data.data) group by date_part('year', calendario_periodo_data.data), date_part('month', calendario_periodo_data.data) order by ano, mes;
Date: 2024-12-16 11:23:56 Duration: 1s448ms Database: postgres parameters: $1 = '2024-12-16', $2 = '1746916', $3 = '2024', $4 = '2024-12-16'
-
select date_part('year', calendario_periodo_data.data)::integer as ano, date_part('month', calendario_periodo_data.data)::integer as mes, coalesce(count( case when calendario_data.id_motivo_dia_nao_letivo is null and cc.flg_aponta_faltas is true then qh.id_horario_quadro_homologado else null end), 0)::integer as aulas, coalesce(sum(faltas.faltas), 0)::integer as faltas from aluno_matricula am inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario curso_cal on curso_cal.id_curso = curso.id_curso and curso_cal.ano = ano.ano and curso_cal.id_unidade_funcional = turma.id_unidade_funcional and curso.flg_calendario_diferenciado = true inner join calendario c on c.id_calendario = coalesce(turma.id_calendario_turma, curso_cal.id_calendario, ec.id_calendario) left join lateral ( select min(tp.periodo_calendario_inicio) as inicio, max(tp.periodo_calendario_fim) as fim from turma_periodo tp where tp.id_turma = amt.id_turma) as periodos on 1 = 1 inner join calendario_periodo periodo_inicio on periodo_inicio.id_calendario = c.id_calendario and periodo_inicio.ordem = periodos.inicio inner join calendario_periodo periodo_fim on periodo_fim.id_calendario = c.id_calendario and periodo_fim.ordem = periodos.fim left join lateral ( select amsh.id_aluno_matr_status, amsh.data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= $1 and amsh.id_aluno_matr_status not in (1, 5) order by amsh.data_ocorrencia desc limit 1) situacao on 1 = 1 inner join lateral ( select greatest (am.data_matricula::date, periodo_inicio.data_inicio) as inicio, least (periodo_fim.data_final, situacao.data_ocorrencia::date) as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = c.id_calendario inner join dia_semana on dia_semana.dia_semana_postgresql = extract(dow from calendario_periodo_data.data) left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data inner join quadro_horario_homologado qh on qh.id_turma = amt.id_turma and qh.id_serie = amt.id_serie_enturmacao and qh.dia_semana = dia_semana.dia_semana inner join horario_quadro_homologado on horario_quadro_homologado.id_horario_quadro_homologado = qh.id_horario_quadro_homologado inner join componente_curricular cc on cc.id_componente_curricular = qh.id_componente_curricular inner join turma_periodo on turma_periodo.id_turma = amt.id_turma and calendario_periodo_data.bimestre between turma_periodo.periodo_calendario_inicio and turma_periodo.periodo_calendario_fim left join lateral ( select count(falta.id_aluno_matricula)::integer as faltas from falta_aluno_disciplina_diario falta inner join horario_turma on horario_turma.id_horario_turma = falta.id_horario_turma where falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.id_disciplina = cc.id_disciplina and cc.flg_aponta_faltas is true and falta.data = calendario_periodo_data.data and calendario_data.id_motivo_dia_nao_letivo is null and falta.flg_justificada is false and horario_turma.horario_inicio = horario_quadro_homologado.horario_inicio and horario_turma.horario_termino = horario_quadro_homologado.horario_termino) as faltas on 1 = 1 where am.id_cidadao = $2 and ano.ano = $3 and calendario_periodo_data.data <= $4 and serie.flg_apon_falta_globalizado is false and not exists ( select null from aluno_matr_dispensa_disciplina disp where disp.id_aluno_matricula = am.id_aluno_matricula and disp.id_turma = amt.id_turma and disp.id_disciplina = cc.id_disciplina and (disp.flg_dispensado_todos_periodos is true or disp.periodos @> ARRAY[turma_periodo.id_nota_periodo_aluno])) and calendario_periodo_data.data between datas.inicio and datas.fim and (extract(dow from calendario_periodo_data.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null) and (qh.data_inicio_vigencia is null or qh.data_inicio_vigencia <= calendario_periodo_data.data) and (qh.data_termino_vigencia is null or qh.data_termino_vigencia >= calendario_periodo_data.data) group by date_part('year', calendario_periodo_data.data), date_part('month', calendario_periodo_data.data) order by ano, mes;
Date: 2024-12-16 10:46:33 Duration: 1s392ms Database: postgres parameters: $1 = '2024-12-16', $2 = '1468773', $3 = '2024', $4 = '2024-12-16'
3 33s251ms 47 502ms 1s92ms 707ms select c.id_cidadao, a.codigo, a.flg_protegido, case when c.denominacao notnull then c.denominacao else c.nome end as aluno, c.nascimento_data, c.sexo, ano.ano, ano.semestre, curso.sigla as sigla_curso, curso.descricao as curso, s.sigla as sigla_serie, s.descricao as serie, turma.nome as turma, turno.descricao as turno, coalesce(amc.data_matricula, am.data_matricula::date) as data_matricula, am.id_unidade_funcional, a.id_foto_oficial, c.flg_educador_apoio, s.idade_distorcao, amt.chamada, am.id_aluno_matricula, am.id_aluno_matr_status, ams.descricao as situacao, s.id_forma_avaliacao = $1 and exists ( select null from componente_curricular where componente_curricular.id_grade_curricular = turma_serie.id_grade_curricular and componente_curricular.id_disciplina = $2 and componente_curricular.id_expressao_resultado_componente = $3) as "flgConverteNotaConceito", s.flg_realiza_acompanhamento_para_casa as "flgParaCasa", am.id_curso as "idCurso", s.flg_realiza_acompanhamento_livro_lido as "flgLivroLido" from aluno_matricula am inner join aluno a on am.id_cidadao = a.id_cidadao inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status inner join cidadao c on am.id_cidadao = c.id_cidadao inner join serie s on am.id_serie = s.id_serie inner join curso on am.id_curso = curso.id_curso inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma_serie on turma_serie.id_turma = amt.id_turma and turma_serie.id_serie = amt.id_serie_enturmacao inner join turma on turma.id_turma = amt.id_turma inner join turno on turma.id_turno = turno.id_turno left join cidadao_usuario cu on cu.id_cidadao = c.id_cidadao left join usuario u on cu.id_usuario = u.id_usuario left join imagem i on a.id_foto_oficial = i.id_imagem left join aluno_matricula_componente amc on amc.id_aluno_matricula = am.id_aluno_matricula and amc.id_disciplina = $4 where amt.id_turma = $5 and am.id_aluno_matricula = $6 order by chamada;Times Reported Time consuming bind #3
Day Hour Count Duration Avg duration 07 9 5s334ms 592ms 08 16 10s901ms 681ms 09 12 9s283ms 773ms 10 10 7s731ms 773ms -
select c.id_cidadao, a.codigo, a.flg_protegido, case when c.denominacao notnull then c.denominacao else c.nome end as aluno, c.nascimento_data, c.sexo, ano.ano, ano.semestre, curso.sigla as sigla_curso, curso.descricao as curso, s.sigla as sigla_serie, s.descricao as serie, turma.nome as turma, turno.descricao as turno, coalesce(amc.data_matricula, am.data_matricula::date) as data_matricula, am.id_unidade_funcional, a.id_foto_oficial, c.flg_educador_apoio, s.idade_distorcao, amt.chamada, am.id_aluno_matricula, am.id_aluno_matr_status, ams.descricao as situacao, s.id_forma_avaliacao = $1 and exists ( select null from componente_curricular where componente_curricular.id_grade_curricular = turma_serie.id_grade_curricular and componente_curricular.id_disciplina = $2 and componente_curricular.id_expressao_resultado_componente = $3) as "flgConverteNotaConceito", s.flg_realiza_acompanhamento_para_casa as "flgParaCasa", am.id_curso as "idCurso", s.flg_realiza_acompanhamento_livro_lido as "flgLivroLido" from aluno_matricula am inner join aluno a on am.id_cidadao = a.id_cidadao inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status inner join cidadao c on am.id_cidadao = c.id_cidadao inner join serie s on am.id_serie = s.id_serie inner join curso on am.id_curso = curso.id_curso inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma_serie on turma_serie.id_turma = amt.id_turma and turma_serie.id_serie = amt.id_serie_enturmacao inner join turma on turma.id_turma = amt.id_turma inner join turno on turma.id_turno = turno.id_turno left join cidadao_usuario cu on cu.id_cidadao = c.id_cidadao left join usuario u on cu.id_usuario = u.id_usuario left join imagem i on a.id_foto_oficial = i.id_imagem left join aluno_matricula_componente amc on amc.id_aluno_matricula = am.id_aluno_matricula and amc.id_disciplina = $4 where amt.id_turma = $5 and am.id_aluno_matricula = $6 order by chamada;
Date: 2024-12-16 11:23:59 Duration: 1s92ms Database: postgres parameters: $1 = '240004118'
-
select c.id_cidadao, a.codigo, a.flg_protegido, case when c.denominacao notnull then c.denominacao else c.nome end as aluno, c.nascimento_data, c.sexo, ano.ano, ano.semestre, curso.sigla as sigla_curso, curso.descricao as curso, s.sigla as sigla_serie, s.descricao as serie, turma.nome as turma, turno.descricao as turno, coalesce(amc.data_matricula, am.data_matricula::date) as data_matricula, am.id_unidade_funcional, a.id_foto_oficial, c.flg_educador_apoio, s.idade_distorcao, amt.chamada, am.id_aluno_matricula, am.id_aluno_matr_status, ams.descricao as situacao, s.id_forma_avaliacao = $1 and exists ( select null from componente_curricular where componente_curricular.id_grade_curricular = turma_serie.id_grade_curricular and componente_curricular.id_disciplina = $2 and componente_curricular.id_expressao_resultado_componente = $3) as "flgConverteNotaConceito", s.flg_realiza_acompanhamento_para_casa as "flgParaCasa", am.id_curso as "idCurso", s.flg_realiza_acompanhamento_livro_lido as "flgLivroLido" from aluno_matricula am inner join aluno a on am.id_cidadao = a.id_cidadao inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status inner join cidadao c on am.id_cidadao = c.id_cidadao inner join serie s on am.id_serie = s.id_serie inner join curso on am.id_curso = curso.id_curso inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma_serie on turma_serie.id_turma = amt.id_turma and turma_serie.id_serie = amt.id_serie_enturmacao inner join turma on turma.id_turma = amt.id_turma inner join turno on turma.id_turno = turno.id_turno left join cidadao_usuario cu on cu.id_cidadao = c.id_cidadao left join usuario u on cu.id_usuario = u.id_usuario left join imagem i on a.id_foto_oficial = i.id_imagem left join aluno_matricula_componente amc on amc.id_aluno_matricula = am.id_aluno_matricula and amc.id_disciplina = $4 where amt.id_turma = $5 and am.id_aluno_matricula = $6 order by chamada;
Date: 2024-12-16 09:26:37 Duration: 1s46ms Database: postgres parameters: $1 = '0', $2 = '17360655', $3 = '0', $4 = '240002522', $5 = '2197'
-
select c.id_cidadao, a.codigo, a.flg_protegido, case when c.denominacao notnull then c.denominacao else c.nome end as aluno, c.nascimento_data, c.sexo, ano.ano, ano.semestre, curso.sigla as sigla_curso, curso.descricao as curso, s.sigla as sigla_serie, s.descricao as serie, turma.nome as turma, turno.descricao as turno, coalesce(amc.data_matricula, am.data_matricula::date) as data_matricula, am.id_unidade_funcional, a.id_foto_oficial, c.flg_educador_apoio, s.idade_distorcao, amt.chamada, am.id_aluno_matricula, am.id_aluno_matr_status, ams.descricao as situacao, s.id_forma_avaliacao = $1 and exists ( select null from componente_curricular where componente_curricular.id_grade_curricular = turma_serie.id_grade_curricular and componente_curricular.id_disciplina = $2 and componente_curricular.id_expressao_resultado_componente = $3) as "flgConverteNotaConceito", s.flg_realiza_acompanhamento_para_casa as "flgParaCasa", am.id_curso as "idCurso", s.flg_realiza_acompanhamento_livro_lido as "flgLivroLido" from aluno_matricula am inner join aluno a on am.id_cidadao = a.id_cidadao inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status inner join cidadao c on am.id_cidadao = c.id_cidadao inner join serie s on am.id_serie = s.id_serie inner join curso on am.id_curso = curso.id_curso inner join ano_semestre ano on am.id_ano_semestre = ano.id_ano_semestre inner join aluno_matr_turma amt on am.id_aluno_matricula = amt.id_aluno_matricula inner join turma_serie on turma_serie.id_turma = amt.id_turma and turma_serie.id_serie = amt.id_serie_enturmacao inner join turma on turma.id_turma = amt.id_turma inner join turno on turma.id_turno = turno.id_turno left join cidadao_usuario cu on cu.id_cidadao = c.id_cidadao left join usuario u on cu.id_usuario = u.id_usuario left join imagem i on a.id_foto_oficial = i.id_imagem left join aluno_matricula_componente amc on amc.id_aluno_matricula = am.id_aluno_matricula and amc.id_disciplina = $4 where amt.id_turma = $5 and am.id_aluno_matricula = $6 order by chamada;
Date: 2024-12-16 10:51:02 Duration: 1s13ms Database: postgres parameters: $1 = '0', $2 = '17368736', $3 = '0', $4 = '240006370', $5 = '1951', $6 = '1809'
4 10s615ms 9 568ms 3s515ms 1s179ms 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 = $1 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 ($2, $3, $4, $5, $6, $7, $8, $9) and npa.id_nota_periodo_aluno = bimestre_para_periodo ($10, 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 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 = $11 and mad.id_categoria_modelo_avaliacao_desc = $12 and mad.id_periodicidade_apontamento_avaliacao_desc = $13 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 <= $14) and (mdp.periodos is null or not mdp.periodos @> ARRAY[$15]) and emap.id_nota_periodo_aluno = $16 and am.id_aluno_matr_status in ($17, $18, $19) 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 = $20 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)))));Times Reported Time consuming bind #4
Day Hour Count Duration Avg duration 07 2 5s124ms 2s562ms 09 3 2s690ms 896ms 10 4 2s799ms 699ms -
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 = $1 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 ($2, $3, $4, $5, $6, $7, $8, $9) and npa.id_nota_periodo_aluno = bimestre_para_periodo ($10, 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 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 = $11 and mad.id_categoria_modelo_avaliacao_desc = $12 and mad.id_periodicidade_apontamento_avaliacao_desc = $13 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 <= $14) and (mdp.periodos is null or not mdp.periodos @> ARRAY[$15]) and emap.id_nota_periodo_aluno = $16 and am.id_aluno_matr_status in ($17, $18, $19) 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 = $20 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)))));
Date: 2024-12-16 08:56:56 Duration: 3s515ms Database: postgres parameters: $1 = '2024', $2 = '240010055', $3 = '240010061', $4 = '240010054', $5 = '240010048', $6 = '240013671', $7 = '240010060', $8 = '240010058', $9 = '240013683', $10 = '3', $11 = '4', $12 = '1', $13 = '1', $14 = '3', $15 = '3', $16 = '3', $17 = '1', $18 = '2', $19 = '7', $20 = '3'
-
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 = $1 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 ($2, $3, $4, $5, $6, $7, $8, $9) and npa.id_nota_periodo_aluno = bimestre_para_periodo ($10, 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 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 = $11 and mad.id_categoria_modelo_avaliacao_desc = $12 and mad.id_periodicidade_apontamento_avaliacao_desc = $13 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 <= $14) and (mdp.periodos is null or not mdp.periodos @> ARRAY[$15]) and emap.id_nota_periodo_aluno = $16 and am.id_aluno_matr_status in ($17, $18, $19) 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 = $20 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)))));
Date: 2024-12-16 08:58:07 Duration: 1s609ms Database: postgres parameters: $1 = '2024', $2 = '240010055', $3 = '240010061', $4 = '240010054', $5 = '240010048', $6 = '240013671', $7 = '240010060', $8 = '240010058', $9 = '240013683', $10 = '4', $11 = '4', $12 = '1', $13 = '1', $14 = '4', $15 = '4', $16 = '4', $17 = '1', $18 = '2', $19 = '7', $20 = '4'
-
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 = $1 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 ($2, $3, $4, $5, $6, $7, $8, $9) and npa.id_nota_periodo_aluno = bimestre_para_periodo ($10, 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 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 = $11 and mad.id_categoria_modelo_avaliacao_desc = $12 and mad.id_periodicidade_apontamento_avaliacao_desc = $13 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 <= $14) and (mdp.periodos is null or not mdp.periodos @> ARRAY[$15]) and emap.id_nota_periodo_aluno = $16 and am.id_aluno_matr_status in ($17, $18, $19) 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 = $20 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)))));
Date: 2024-12-16 10:00:42 Duration: 1s228ms Database: postgres parameters: $1 = '2024', $2 = '240010055', $3 = '240010061', $4 = '240010054', $5 = '240010048', $6 = '240013671', $7 = '240010060', $8 = '240010058', $9 = '240013683', $10 = '1', $11 = '4', $12 = '1', $13 = '1', $14 = '1', $15 = '1', $16 = '1', $17 = '1', $18 = '2', $19 = '7', $20 = '1'
5 8s545ms 10 565ms 1s412ms 854ms 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 = $1 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 ($2, $3, $4, $5) and npa.id_nota_periodo_aluno = bimestre_para_periodo ($6, 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 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 = $7 and mad.id_categoria_modelo_avaliacao_desc = $8 and mad.id_periodicidade_apontamento_avaliacao_desc = $9 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 <= $10) and (mdp.periodos is null or not mdp.periodos @> ARRAY[$11]) and emap.id_nota_periodo_aluno = $12 and am.id_aluno_matr_status in ($13, $14, $15) 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 = $16 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)))));Times Reported Time consuming bind #5
Day Hour Count Duration Avg duration 08 1 565ms 565ms 09 5 3s761ms 752ms 10 4 4s219ms 1s54ms -
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 = $1 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 ($2, $3, $4, $5) and npa.id_nota_periodo_aluno = bimestre_para_periodo ($6, 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 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 = $7 and mad.id_categoria_modelo_avaliacao_desc = $8 and mad.id_periodicidade_apontamento_avaliacao_desc = $9 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 <= $10) and (mdp.periodos is null or not mdp.periodos @> ARRAY[$11]) and emap.id_nota_periodo_aluno = $12 and am.id_aluno_matr_status in ($13, $14, $15) 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 = $16 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)))));
Date: 2024-12-16 11:02:22 Duration: 1s412ms Database: postgres parameters: $1 = '2024', $2 = '240008591', $3 = '240008595', $4 = '240008593', $5 = '240008594', $6 = '4', $7 = '4', $8 = '1', $9 = '1', $10 = '4', $11 = '4', $12 = '4', $13 = '1', $14 = '2', $15 = '7', $16 = '4'
-
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 = $1 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 ($2, $3, $4, $5) and npa.id_nota_periodo_aluno = bimestre_para_periodo ($6, 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 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 = $7 and mad.id_categoria_modelo_avaliacao_desc = $8 and mad.id_periodicidade_apontamento_avaliacao_desc = $9 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 <= $10) and (mdp.periodos is null or not mdp.periodos @> ARRAY[$11]) and emap.id_nota_periodo_aluno = $12 and am.id_aluno_matr_status in ($13, $14, $15) 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 = $16 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)))));
Date: 2024-12-16 11:02:15 Duration: 1s356ms Database: postgres parameters: $1 = '2024', $2 = '240008591', $3 = '240008595', $4 = '240008593', $5 = '240008594', $6 = '3', $7 = '4', $8 = '1', $9 = '1', $10 = '3', $11 = '3', $12 = '3', $13 = '1', $14 = '2', $15 = '7', $16 = '3'
-
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 = $1 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 ($2, $3, $4, $5) and npa.id_nota_periodo_aluno = bimestre_para_periodo ($6, 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 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 = $7 and mad.id_categoria_modelo_avaliacao_desc = $8 and mad.id_periodicidade_apontamento_avaliacao_desc = $9 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 <= $10) and (mdp.periodos is null or not mdp.periodos @> ARRAY[$11]) and emap.id_nota_periodo_aluno = $12 and am.id_aluno_matr_status in ($13, $14, $15) 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 = $16 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)))));
Date: 2024-12-16 10:45:11 Duration: 972ms Database: postgres parameters: $1 = '2024', $2 = '240008652', $3 = '240008650', $4 = '240008646', $5 = '240008654', $6 = '4', $7 = '4', $8 = '1', $9 = '1', $10 = '4', $11 = '4', $12 = '4', $13 = '1', $14 = '2', $15 = '7', $16 = '4'
6 8s270ms 11 512ms 1s77ms 751ms 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 = $1 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 ($2, $3) and npa.id_nota_periodo_aluno = bimestre_para_periodo ($4, 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 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 = $5 and mad.id_categoria_modelo_avaliacao_desc = $6 and mad.id_periodicidade_apontamento_avaliacao_desc = $7 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 <= $8) and (mdp.periodos is null or not mdp.periodos @> ARRAY[$9]) and emap.id_nota_periodo_aluno = $10 and am.id_aluno_matr_status in ($11, $12, $13) 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 = $14 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)))));Times Reported Time consuming bind #6
Day Hour Count Duration Avg duration 08 3 2s352ms 784ms 09 4 2s752ms 688ms 10 4 3s166ms 791ms -
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 = $1 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 ($2, $3) and npa.id_nota_periodo_aluno = bimestre_para_periodo ($4, 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 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 = $5 and mad.id_categoria_modelo_avaliacao_desc = $6 and mad.id_periodicidade_apontamento_avaliacao_desc = $7 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 <= $8) and (mdp.periodos is null or not mdp.periodos @> ARRAY[$9]) and emap.id_nota_periodo_aluno = $10 and am.id_aluno_matr_status in ($11, $12, $13) 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 = $14 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)))));
Date: 2024-12-16 11:10:02 Duration: 1s77ms Database: postgres parameters: $1 = '2024', $2 = '240008915', $3 = '240008910', $4 = '4', $5 = '4', $6 = '1', $7 = '1', $8 = '4', $9 = '4', $10 = '4', $11 = '1', $12 = '2', $13 = '7', $14 = '4'
-
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 = $1 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 ($2, $3) and npa.id_nota_periodo_aluno = bimestre_para_periodo ($4, 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 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 = $5 and mad.id_categoria_modelo_avaliacao_desc = $6 and mad.id_periodicidade_apontamento_avaliacao_desc = $7 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 <= $8) and (mdp.periodos is null or not mdp.periodos @> ARRAY[$9]) and emap.id_nota_periodo_aluno = $10 and am.id_aluno_matr_status in ($11, $12, $13) 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 = $14 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)))));
Date: 2024-12-16 10:49:25 Duration: 919ms Database: postgres parameters: $1 = '3', $2 = '240008880', $3 = '240008881', $4 = '3'
-
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 = $1 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 ($2, $3) and npa.id_nota_periodo_aluno = bimestre_para_periodo ($4, 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 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 = $5 and mad.id_categoria_modelo_avaliacao_desc = $6 and mad.id_periodicidade_apontamento_avaliacao_desc = $7 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 <= $8) and (mdp.periodos is null or not mdp.periodos @> ARRAY[$9]) and emap.id_nota_periodo_aluno = $10 and am.id_aluno_matr_status in ($11, $12, $13) 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 = $14 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)))));
Date: 2024-12-16 09:35:01 Duration: 916ms Database: postgres parameters: $1 = '2', $2 = '240009586', $3 = '240013275', $4 = '2'
7 8s92ms 12 574ms 858ms 674ms select distinct c.id_calendario, ds.descricao as dia_semana, dia, cadc.cor as cor, d.descricao as disciplina, rfdd.data_inclusao, rfdd.data_atualizacao conclusao_apontamento, rfdd.data_referencia as referencia_apontamento, rfdd.flg_concluido as flg_concluido, case when cd.id_motivo_dia_nao_letivo is not null then 1 when cd.id_motivo_dia_letivo_extra is not null then 2 when cd.id_motivo_evento is not null then 5 end as "motivo", coalesce(extra.descricao, nao_letivo.descricao, evento.descricao, mo.descricao) as descricao_tipo, exists ( select null from adequacao_carga_horaria_turma adequacao_turma where adequacao_turma.id_turma = tp.id_turma and adequacao_turma.data = dia.dia::date and adequacao_turma.id_tipo_adequacao_carga_horaria = $1) as sem_apuracao_frequencia from turma inner join turma_periodo tp on turma.id_turma = tp.id_turma inner join calendario_periodo c on c.ordem between tp.periodo_calendario_inicio and tp.periodo_calendario_fim cross join generate_series(c.data_inicio, c.data_final, '1 day') as dia inner join dia_semana ds on ds.dia_semana_postgresql = extract(dow from dia) inner join quadro_horario_homologado q on q.id_turma = turma.id_turma and q.id_grade_curricular = turma.id_grade_curricular and q.dia_semana = ds.dia_semana and coalesce(q.data_inicio_vigencia, c.data_inicio) <= dia and coalesce(q.data_termino_vigencia, c.data_final) >= dia inner join componente_curricular cc on cc.id_componente_curricular = q.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = q.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) left join calendario_data cd on cd.id_calendario = c.id_calendario and cd.data = dia left join motivo_dia_letivo_extra extra on extra.id_motivo_dia_letivo_extra = cd.id_motivo_dia_letivo_extra left join motivo_dia_nao_letivo nao_letivo on nao_letivo.id_motivo_dia_nao_letivo = cd.id_motivo_dia_nao_letivo left join motivo_evento evento on evento.id_motivo_evento = cd.id_motivo_evento left join motivo_outro mo on mo.id_motivo_outro = cd.id_motivo_outro left join categoria_acontecimento_data_calendario cadc on cadc.id_categoria_acontecimento_data_calendario = coalesce(extra.id_categoria_acontecimento_data_calendario, nao_letivo.id_categoria_acontecimento_data_calendario, evento.id_categoria_acontecimento_data_calendario, mo.id_categoria_acontecimento_data_calendario) left join registro_falta_disciplina_diario rfdd on rfdd.id_disciplina = d.id_disciplina and rfdd.id_turma = turma.id_turma and rfdd.data_referencia = dia where turma.id_turma = $2 and tp.id_nota_periodo_aluno = $3 and c.id_calendario = $4 and d.id_disciplina = $5 order by dia;Times Reported Time consuming bind #7
Day Hour Count Duration Avg duration 08 3 1s924ms 641ms 09 6 4s204ms 700ms 10 3 1s963ms 654ms -
select distinct c.id_calendario, ds.descricao as dia_semana, dia, cadc.cor as cor, d.descricao as disciplina, rfdd.data_inclusao, rfdd.data_atualizacao conclusao_apontamento, rfdd.data_referencia as referencia_apontamento, rfdd.flg_concluido as flg_concluido, case when cd.id_motivo_dia_nao_letivo is not null then 1 when cd.id_motivo_dia_letivo_extra is not null then 2 when cd.id_motivo_evento is not null then 5 end as "motivo", coalesce(extra.descricao, nao_letivo.descricao, evento.descricao, mo.descricao) as descricao_tipo, exists ( select null from adequacao_carga_horaria_turma adequacao_turma where adequacao_turma.id_turma = tp.id_turma and adequacao_turma.data = dia.dia::date and adequacao_turma.id_tipo_adequacao_carga_horaria = $1) as sem_apuracao_frequencia from turma inner join turma_periodo tp on turma.id_turma = tp.id_turma inner join calendario_periodo c on c.ordem between tp.periodo_calendario_inicio and tp.periodo_calendario_fim cross join generate_series(c.data_inicio, c.data_final, '1 day') as dia inner join dia_semana ds on ds.dia_semana_postgresql = extract(dow from dia) inner join quadro_horario_homologado q on q.id_turma = turma.id_turma and q.id_grade_curricular = turma.id_grade_curricular and q.dia_semana = ds.dia_semana and coalesce(q.data_inicio_vigencia, c.data_inicio) <= dia and coalesce(q.data_termino_vigencia, c.data_final) >= dia inner join componente_curricular cc on cc.id_componente_curricular = q.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = q.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) left join calendario_data cd on cd.id_calendario = c.id_calendario and cd.data = dia left join motivo_dia_letivo_extra extra on extra.id_motivo_dia_letivo_extra = cd.id_motivo_dia_letivo_extra left join motivo_dia_nao_letivo nao_letivo on nao_letivo.id_motivo_dia_nao_letivo = cd.id_motivo_dia_nao_letivo left join motivo_evento evento on evento.id_motivo_evento = cd.id_motivo_evento left join motivo_outro mo on mo.id_motivo_outro = cd.id_motivo_outro left join categoria_acontecimento_data_calendario cadc on cadc.id_categoria_acontecimento_data_calendario = coalesce(extra.id_categoria_acontecimento_data_calendario, nao_letivo.id_categoria_acontecimento_data_calendario, evento.id_categoria_acontecimento_data_calendario, mo.id_categoria_acontecimento_data_calendario) left join registro_falta_disciplina_diario rfdd on rfdd.id_disciplina = d.id_disciplina and rfdd.id_turma = turma.id_turma and rfdd.data_referencia = dia where turma.id_turma = $2 and tp.id_nota_periodo_aluno = $3 and c.id_calendario = $4 and d.id_disciplina = $5 order by dia;
Date: 2024-12-16 10:21:18 Duration: 858ms Database: postgres parameters: $1 = '0', $2 = '16585142', $3 = '0', $4 = '240005417', $5 = '2264', $6 = '2216'
-
select distinct c.id_calendario, ds.descricao as dia_semana, dia, cadc.cor as cor, d.descricao as disciplina, rfdd.data_inclusao, rfdd.data_atualizacao conclusao_apontamento, rfdd.data_referencia as referencia_apontamento, rfdd.flg_concluido as flg_concluido, case when cd.id_motivo_dia_nao_letivo is not null then 1 when cd.id_motivo_dia_letivo_extra is not null then 2 when cd.id_motivo_evento is not null then 5 end as "motivo", coalesce(extra.descricao, nao_letivo.descricao, evento.descricao, mo.descricao) as descricao_tipo, exists ( select null from adequacao_carga_horaria_turma adequacao_turma where adequacao_turma.id_turma = tp.id_turma and adequacao_turma.data = dia.dia::date and adequacao_turma.id_tipo_adequacao_carga_horaria = $1) as sem_apuracao_frequencia from turma inner join turma_periodo tp on turma.id_turma = tp.id_turma inner join calendario_periodo c on c.ordem between tp.periodo_calendario_inicio and tp.periodo_calendario_fim cross join generate_series(c.data_inicio, c.data_final, '1 day') as dia inner join dia_semana ds on ds.dia_semana_postgresql = extract(dow from dia) inner join quadro_horario_homologado q on q.id_turma = turma.id_turma and q.id_grade_curricular = turma.id_grade_curricular and q.dia_semana = ds.dia_semana and coalesce(q.data_inicio_vigencia, c.data_inicio) <= dia and coalesce(q.data_termino_vigencia, c.data_final) >= dia inner join componente_curricular cc on cc.id_componente_curricular = q.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = q.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) left join calendario_data cd on cd.id_calendario = c.id_calendario and cd.data = dia left join motivo_dia_letivo_extra extra on extra.id_motivo_dia_letivo_extra = cd.id_motivo_dia_letivo_extra left join motivo_dia_nao_letivo nao_letivo on nao_letivo.id_motivo_dia_nao_letivo = cd.id_motivo_dia_nao_letivo left join motivo_evento evento on evento.id_motivo_evento = cd.id_motivo_evento left join motivo_outro mo on mo.id_motivo_outro = cd.id_motivo_outro left join categoria_acontecimento_data_calendario cadc on cadc.id_categoria_acontecimento_data_calendario = coalesce(extra.id_categoria_acontecimento_data_calendario, nao_letivo.id_categoria_acontecimento_data_calendario, evento.id_categoria_acontecimento_data_calendario, mo.id_categoria_acontecimento_data_calendario) left join registro_falta_disciplina_diario rfdd on rfdd.id_disciplina = d.id_disciplina and rfdd.id_turma = turma.id_turma and rfdd.data_referencia = dia where turma.id_turma = $2 and tp.id_nota_periodo_aluno = $3 and c.id_calendario = $4 and d.id_disciplina = $5 order by dia;
Date: 2024-12-16 10:51:35 Duration: 813ms Database: postgres parameters: $1 = '0', $2 = '0', $3 = '0', $4 = '240001445', $5 = '102', $6 = '9'
-
select distinct c.id_calendario, ds.descricao as dia_semana, dia, cadc.cor as cor, d.descricao as disciplina, rfdd.data_inclusao, rfdd.data_atualizacao conclusao_apontamento, rfdd.data_referencia as referencia_apontamento, rfdd.flg_concluido as flg_concluido, case when cd.id_motivo_dia_nao_letivo is not null then 1 when cd.id_motivo_dia_letivo_extra is not null then 2 when cd.id_motivo_evento is not null then 5 end as "motivo", coalesce(extra.descricao, nao_letivo.descricao, evento.descricao, mo.descricao) as descricao_tipo, exists ( select null from adequacao_carga_horaria_turma adequacao_turma where adequacao_turma.id_turma = tp.id_turma and adequacao_turma.data = dia.dia::date and adequacao_turma.id_tipo_adequacao_carga_horaria = $1) as sem_apuracao_frequencia from turma inner join turma_periodo tp on turma.id_turma = tp.id_turma inner join calendario_periodo c on c.ordem between tp.periodo_calendario_inicio and tp.periodo_calendario_fim cross join generate_series(c.data_inicio, c.data_final, '1 day') as dia inner join dia_semana ds on ds.dia_semana_postgresql = extract(dow from dia) inner join quadro_horario_homologado q on q.id_turma = turma.id_turma and q.id_grade_curricular = turma.id_grade_curricular and q.dia_semana = ds.dia_semana and coalesce(q.data_inicio_vigencia, c.data_inicio) <= dia and coalesce(q.data_termino_vigencia, c.data_final) >= dia inner join componente_curricular cc on cc.id_componente_curricular = q.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = q.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) left join calendario_data cd on cd.id_calendario = c.id_calendario and cd.data = dia left join motivo_dia_letivo_extra extra on extra.id_motivo_dia_letivo_extra = cd.id_motivo_dia_letivo_extra left join motivo_dia_nao_letivo nao_letivo on nao_letivo.id_motivo_dia_nao_letivo = cd.id_motivo_dia_nao_letivo left join motivo_evento evento on evento.id_motivo_evento = cd.id_motivo_evento left join motivo_outro mo on mo.id_motivo_outro = cd.id_motivo_outro left join categoria_acontecimento_data_calendario cadc on cadc.id_categoria_acontecimento_data_calendario = coalesce(extra.id_categoria_acontecimento_data_calendario, nao_letivo.id_categoria_acontecimento_data_calendario, evento.id_categoria_acontecimento_data_calendario, mo.id_categoria_acontecimento_data_calendario) left join registro_falta_disciplina_diario rfdd on rfdd.id_disciplina = d.id_disciplina and rfdd.id_turma = turma.id_turma and rfdd.data_referencia = dia where turma.id_turma = $2 and tp.id_nota_periodo_aluno = $3 and c.id_calendario = $4 and d.id_disciplina = $5 order by dia;
Date: 2024-12-16 10:46:31 Duration: 771ms Database: postgres parameters: $1 = '0', $2 = '17380411', $3 = '0', $4 = '240010307', $5 = '2001', $6 = '1837'
8 7s716ms 11 501ms 1s36ms 701ms 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 = $1 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 ($2, $3, $4) and npa.id_nota_periodo_aluno = bimestre_para_periodo ($5, 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 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 = $6 and mad.id_categoria_modelo_avaliacao_desc = $7 and mad.id_periodicidade_apontamento_avaliacao_desc = $8 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 <= $9) and (mdp.periodos is null or not mdp.periodos @> ARRAY[$10]) and emap.id_nota_periodo_aluno = $11 and am.id_aluno_matr_status in ($12, $13, $14) 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 = $15 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)))));Times Reported Time consuming bind #8
Day Hour Count Duration Avg duration 08 3 2s454ms 818ms 09 8 5s262ms 657ms -
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 = $1 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 ($2, $3, $4) and npa.id_nota_periodo_aluno = bimestre_para_periodo ($5, 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 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 = $6 and mad.id_categoria_modelo_avaliacao_desc = $7 and mad.id_periodicidade_apontamento_avaliacao_desc = $8 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 <= $9) and (mdp.periodos is null or not mdp.periodos @> ARRAY[$10]) and emap.id_nota_periodo_aluno = $11 and am.id_aluno_matr_status in ($12, $13, $14) 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 = $15 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)))));
Date: 2024-12-16 10:57:57 Duration: 1s36ms Database: postgres parameters: $1 = '2024', $2 = '240011103', $3 = '240009713', $4 = '240009714', $5 = '1', $6 = '4', $7 = '1', $8 = '1', $9 = '1', $10 = '1', $11 = '1', $12 = '1', $13 = '2', $14 = '7', $15 = '1'
-
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 = $1 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 ($2, $3, $4) and npa.id_nota_periodo_aluno = bimestre_para_periodo ($5, 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 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 = $6 and mad.id_categoria_modelo_avaliacao_desc = $7 and mad.id_periodicidade_apontamento_avaliacao_desc = $8 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 <= $9) and (mdp.periodos is null or not mdp.periodos @> ARRAY[$10]) and emap.id_nota_periodo_aluno = $11 and am.id_aluno_matr_status in ($12, $13, $14) 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 = $15 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)))));
Date: 2024-12-16 09:43:39 Duration: 964ms Database: postgres parameters: $1 = '2024', $2 = '240009069', $3 = '240014573', $4 = '240009070', $5 = '2', $6 = '4', $7 = '1', $8 = '1', $9 = '2', $10 = '2', $11 = '2', $12 = '1', $13 = '2', $14 = '7', $15 = '2'
-
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 = $1 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 ($2, $3, $4) and npa.id_nota_periodo_aluno = bimestre_para_periodo ($5, 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 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 = $6 and mad.id_categoria_modelo_avaliacao_desc = $7 and mad.id_periodicidade_apontamento_avaliacao_desc = $8 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 <= $9) and (mdp.periodos is null or not mdp.periodos @> ARRAY[$10]) and emap.id_nota_periodo_aluno = $11 and am.id_aluno_matr_status in ($12, $13, $14) 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 = $15 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)))));
Date: 2024-12-16 09:43:53 Duration: 812ms Database: postgres parameters: $1 = '2024', $2 = '240009069', $3 = '240014573', $4 = '240009070', $5 = '4', $6 = '4', $7 = '1', $8 = '1', $9 = '4', $10 = '4', $11 = '4', $12 = '1', $13 = '2', $14 = '7', $15 = '4'
9 7s169ms 10 586ms 821ms 716ms select count(*) as contagem from (( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by horas_atribuidas, professor, servidor_cargo) tabela;Times Reported Time consuming bind #9
Day Hour Count Duration Avg duration 08 10 7s169ms 716ms -
select count(*) as contagem from (( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by horas_atribuidas, professor, servidor_cargo) tabela;
Date: 2024-12-16 09:57:18 Duration: 821ms Database: postgres parameters: $1 = '7', $2 = '2024', $3 = '2024', $4 = '2024', $5 = '2024', $6 = '2024', $7 = '605785', $8 = '72', $9 = '7', $10 = '2024', $11 = '2024', $12 = '2024', $13 = '2024', $14 = '2024', $15 = '605785', $16 = '72'
-
select count(*) as contagem from (( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by horas_atribuidas, professor, servidor_cargo) tabela;
Date: 2024-12-16 09:57:15 Duration: 798ms Database: postgres parameters: $1 = '7', $2 = '2024', $3 = '2024', $4 = '2024', $5 = '2024', $6 = '2024', $7 = '605785', $8 = '72', $9 = '7', $10 = '2024', $11 = '2024', $12 = '2024', $13 = '2024', $14 = '2024', $15 = '605785', $16 = '72'
-
select count(*) as contagem from (( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by horas_atribuidas, professor, servidor_cargo) tabela;
Date: 2024-12-16 09:57:17 Duration: 794ms Database: postgres parameters: $1 = '7', $2 = '2024', $3 = '2024', $4 = '2024', $5 = '2024', $6 = '2024', $7 = '605785', $8 = '72', $9 = '7', $10 = '2024', $11 = '2024', $12 = '2024', $13 = '2024', $14 = '2024', $15 = '605785', $16 = '72'
10 6s108ms 9 505ms 925ms 678ms ( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by horas_atribuidas, professor, servidor_cargo limit 20;Times Reported Time consuming bind #10
Day Hour Count Duration Avg duration 08 9 6s108ms 678ms -
( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by horas_atribuidas, professor, servidor_cargo limit 20;
Date: 2024-12-16 09:57:15 Duration: 925ms Database: postgres parameters: $1 = '7', $2 = '2024', $3 = '2024', $4 = '2024', $5 = '2024', $6 = '2024', $7 = '605785', $8 = '72', $9 = '7', $10 = '2024', $11 = '2024', $12 = '2024', $13 = '2024', $14 = '2024', $15 = '605785', $16 = '72'
-
( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by horas_atribuidas, professor, servidor_cargo limit 20;
Date: 2024-12-16 09:57:17 Duration: 908ms Database: postgres parameters: $1 = '7', $2 = '2024', $3 = '2024', $4 = '2024', $5 = '2024', $6 = '2024', $7 = '605785', $8 = '72', $9 = '7', $10 = '2024', $11 = '2024', $12 = '2024', $13 = '2024', $14 = '2024', $15 = '605785', $16 = '72'
-
( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by horas_atribuidas, professor, servidor_cargo limit 20;
Date: 2024-12-16 09:57:19 Duration: 791ms Database: postgres parameters: $1 = '7', $2 = '2024', $3 = '2024', $4 = '2024', $5 = '2024', $6 = '2024', $7 = '605785', $8 = '72', $9 = '7', $10 = '2024', $11 = '2024', $12 = '2024', $13 = '2024', $14 = '2024', $15 = '605785', $16 = '72'
11 6s22ms 9 501ms 1s268ms 669ms select am.id_aluno_matricula, am.id_cidadao, amt.id_turma, to_char(now(), 'DD/MM/YYYY') as data_emissao, to_char(now(), 'HH24:mi:ss') as hora_emissao, u.nome as escola, ano.ano || coalesce('/' || ano.semestre, '') as ano, ( select string_agg(udh.identificacao_ato || ' Nº ' || udh.num_ato, ', ' order by udh.data_referencia_ato desc, udh.data_inclusao desc, udh.id_unidade_dado_historico desc) from unidade_dado_historico udh inner join unidade_dado_hist_ocor udho on udho.id_unidade_dado_hist_ocor = udh.id_unidade_dado_hist_ocor where udh.id_unidade_funcional = u.id_unidade_funcional and udho.id_unidade_dado_hist_ocor_tipo = $1) as autorizacao_escola, ( select udh.identificacao_ato || ' Nº ' || udh.num_ato from unidade_dado_historico udh inner join unidade_dado_hist_ocor udho on udho.id_unidade_dado_hist_ocor = udh.id_unidade_dado_hist_ocor and udho.id_unidade_dado_hist_ocor_tipo = $2 inner join curso c on c.id_curso = udh.id_curso where udh.id_unidade_funcional = u.id_unidade_funcional and udh.id_curso = cu.id_curso order by udh.data_inicio_vigencia desc limit 1) as autorizacao_curso, (u.endereco || coalesce(', ' || nullif (trim(u.numero), ''), '') || coalesce(', ' || nullif (trim(u.bairro), ''), '') || coalesce(', ' || nullif (trim(formatar_cep (u.cep)), ''), '') || ', ' || m.nome) as endereco_escola, ( select string_agg(formatar_telefone (tel.ddd, tel.numero), ', ') from contato_telefonico ct inner join telefone tel on tel.id_telefone = ct.id_telefone where ct.id_unidade_funcional = u.id_unidade_funcional) as telefones_escola, c.nome, a.codigo as matricula, t.codigo as turma, cu.sigla as curso, s.sigla as serie, tu.sigla as turno, array_to_string(array[nullif (trim(c.nome_mae), ''), nullif (trim(c.nome_pai), ''), nullif ( case when a.id_responsavel_tipo = $3 then trim(a.nome_responsavel) else null end, '')], ', ') as filiacao, to_char(c.nascimento_data, 'DD/MM/YYYY') as data_nascimento, ( select sum(qtd_faltas)::integer from ( select f.qtd_faltas from falta_aluno_globalizada f where f.id_aluno_matricula = amt.id_aluno_matricula and f.id_turma = amt.id_turma union all select f.qtd_faltas from falta_aluno_disciplina f where f.id_aluno_matricula = amt.id_aluno_matricula and f.id_turma = amt.id_turma) f) as faltas, ( 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 = am.id_cidadao) as necessidade_especial, null as percentual_frequencia, null as parecer_conclusivo, ms.nome as municipio_secretaria, ams.flg_status_ativo, case when am.id_aluno_matr_status = $4 and sem_unificado.id_aluno_matr_status = $5 then ams.descricao || coalesce(' em ' || ultimo_historico.data_ocorrencia) else ams.descricao || coalesce(' em ' || sem_unificado.data_ocorrencia) end as situacao, coalesce(pc.flg_reclassificado_frequencia, false) as flg_reclassificado_frequencia, pa.frequencia_min_aprovacao from aluno_matricula am inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional inner join aluno a on a.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join cidadao c on c.id_cidadao = am.id_cidadao inner join curso cu on cu.id_curso = am.id_curso inner join serie s on s.id_serie = am.id_serie inner join municipio m on m.id_municipio = u.id_municipio inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma t on t.id_turma = amt.id_turma inner join turno tu on tu.id_turno = t.id_turno inner join unidade_funcional secretaria on secretaria.id_instituicao = u.id_instituicao and secretaria.id_nivel_unidade_funcional = 1 inner join municipio ms on ms.id_municipio = secretaria.id_municipio left join parecer_conclusivo pc on pc.id_aluno_matricula = am.id_aluno_matricula left join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao left join lateral ( select amsh.id_aluno_matr_status, ams.flg_status_ativo, to_char(amsh.data_ocorrencia, 'DD/MM/YYYY') as data_ocorrencia from aluno_matr_status_hist amsh inner join aluno_matr_status ams on ams.id_aluno_matr_status = amsh.id_aluno_matr_status where amsh.id_aluno_matr_status <> $6 and amsh.id_aluno_matricula = am.id_aluno_matricula order by amsh.data_ocorrencia desc, amsh.id_aluno_matr_status_hist desc limit 1) as sem_unificado on true left join lateral ( select to_char(amsh.data_ocorrencia, 'DD/MM/YYYY') as data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.id_aluno_matr_status = am.id_aluno_matr_status order by amsh.data_ocorrencia desc limit 1) as ultimo_historico on true inner join aluno_matr_status ams on ams.id_aluno_matr_status = case when am.id_aluno_matr_status = $7 and sem_unificado.id_aluno_matr_status = $8 then am.id_aluno_matr_status else sem_unificado.id_aluno_matr_status end where am.id_aluno_matricula = $9;Times Reported Time consuming bind #11
Day Hour Count Duration Avg duration 06 1 581ms 581ms 07 4 2s108ms 527ms 08 1 675ms 675ms 09 2 1s894ms 947ms 10 1 763ms 763ms -
select am.id_aluno_matricula, am.id_cidadao, amt.id_turma, to_char(now(), 'DD/MM/YYYY') as data_emissao, to_char(now(), 'HH24:mi:ss') as hora_emissao, u.nome as escola, ano.ano || coalesce('/' || ano.semestre, '') as ano, ( select string_agg(udh.identificacao_ato || ' Nº ' || udh.num_ato, ', ' order by udh.data_referencia_ato desc, udh.data_inclusao desc, udh.id_unidade_dado_historico desc) from unidade_dado_historico udh inner join unidade_dado_hist_ocor udho on udho.id_unidade_dado_hist_ocor = udh.id_unidade_dado_hist_ocor where udh.id_unidade_funcional = u.id_unidade_funcional and udho.id_unidade_dado_hist_ocor_tipo = $1) as autorizacao_escola, ( select udh.identificacao_ato || ' Nº ' || udh.num_ato from unidade_dado_historico udh inner join unidade_dado_hist_ocor udho on udho.id_unidade_dado_hist_ocor = udh.id_unidade_dado_hist_ocor and udho.id_unidade_dado_hist_ocor_tipo = $2 inner join curso c on c.id_curso = udh.id_curso where udh.id_unidade_funcional = u.id_unidade_funcional and udh.id_curso = cu.id_curso order by udh.data_inicio_vigencia desc limit 1) as autorizacao_curso, (u.endereco || coalesce(', ' || nullif (trim(u.numero), ''), '') || coalesce(', ' || nullif (trim(u.bairro), ''), '') || coalesce(', ' || nullif (trim(formatar_cep (u.cep)), ''), '') || ', ' || m.nome) as endereco_escola, ( select string_agg(formatar_telefone (tel.ddd, tel.numero), ', ') from contato_telefonico ct inner join telefone tel on tel.id_telefone = ct.id_telefone where ct.id_unidade_funcional = u.id_unidade_funcional) as telefones_escola, c.nome, a.codigo as matricula, t.codigo as turma, cu.sigla as curso, s.sigla as serie, tu.sigla as turno, array_to_string(array[nullif (trim(c.nome_mae), ''), nullif (trim(c.nome_pai), ''), nullif ( case when a.id_responsavel_tipo = $3 then trim(a.nome_responsavel) else null end, '')], ', ') as filiacao, to_char(c.nascimento_data, 'DD/MM/YYYY') as data_nascimento, ( select sum(qtd_faltas)::integer from ( select f.qtd_faltas from falta_aluno_globalizada f where f.id_aluno_matricula = amt.id_aluno_matricula and f.id_turma = amt.id_turma union all select f.qtd_faltas from falta_aluno_disciplina f where f.id_aluno_matricula = amt.id_aluno_matricula and f.id_turma = amt.id_turma) f) as faltas, ( 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 = am.id_cidadao) as necessidade_especial, null as percentual_frequencia, null as parecer_conclusivo, ms.nome as municipio_secretaria, ams.flg_status_ativo, case when am.id_aluno_matr_status = $4 and sem_unificado.id_aluno_matr_status = $5 then ams.descricao || coalesce(' em ' || ultimo_historico.data_ocorrencia) else ams.descricao || coalesce(' em ' || sem_unificado.data_ocorrencia) end as situacao, coalesce(pc.flg_reclassificado_frequencia, false) as flg_reclassificado_frequencia, pa.frequencia_min_aprovacao from aluno_matricula am inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional inner join aluno a on a.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join cidadao c on c.id_cidadao = am.id_cidadao inner join curso cu on cu.id_curso = am.id_curso inner join serie s on s.id_serie = am.id_serie inner join municipio m on m.id_municipio = u.id_municipio inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma t on t.id_turma = amt.id_turma inner join turno tu on tu.id_turno = t.id_turno inner join unidade_funcional secretaria on secretaria.id_instituicao = u.id_instituicao and secretaria.id_nivel_unidade_funcional = 1 inner join municipio ms on ms.id_municipio = secretaria.id_municipio left join parecer_conclusivo pc on pc.id_aluno_matricula = am.id_aluno_matricula left join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao left join lateral ( select amsh.id_aluno_matr_status, ams.flg_status_ativo, to_char(amsh.data_ocorrencia, 'DD/MM/YYYY') as data_ocorrencia from aluno_matr_status_hist amsh inner join aluno_matr_status ams on ams.id_aluno_matr_status = amsh.id_aluno_matr_status where amsh.id_aluno_matr_status <> $6 and amsh.id_aluno_matricula = am.id_aluno_matricula order by amsh.data_ocorrencia desc, amsh.id_aluno_matr_status_hist desc limit 1) as sem_unificado on true left join lateral ( select to_char(amsh.data_ocorrencia, 'DD/MM/YYYY') as data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.id_aluno_matr_status = am.id_aluno_matr_status order by amsh.data_ocorrencia desc limit 1) as ultimo_historico on true inner join aluno_matr_status ams on ams.id_aluno_matr_status = case when am.id_aluno_matr_status = $7 and sem_unificado.id_aluno_matr_status = $8 then am.id_aluno_matr_status else sem_unificado.id_aluno_matr_status end where am.id_aluno_matricula = $9;
Date: 2024-12-16 10:37:57 Duration: 1s268ms Database: postgres parameters: $1 = '0', $2 = '2308754', $3 = '0', $4 = '240001399', $5 = '109', $6 = '6'
-
select am.id_aluno_matricula, am.id_cidadao, amt.id_turma, to_char(now(), 'DD/MM/YYYY') as data_emissao, to_char(now(), 'HH24:mi:ss') as hora_emissao, u.nome as escola, ano.ano || coalesce('/' || ano.semestre, '') as ano, ( select string_agg(udh.identificacao_ato || ' Nº ' || udh.num_ato, ', ' order by udh.data_referencia_ato desc, udh.data_inclusao desc, udh.id_unidade_dado_historico desc) from unidade_dado_historico udh inner join unidade_dado_hist_ocor udho on udho.id_unidade_dado_hist_ocor = udh.id_unidade_dado_hist_ocor where udh.id_unidade_funcional = u.id_unidade_funcional and udho.id_unidade_dado_hist_ocor_tipo = $1) as autorizacao_escola, ( select udh.identificacao_ato || ' Nº ' || udh.num_ato from unidade_dado_historico udh inner join unidade_dado_hist_ocor udho on udho.id_unidade_dado_hist_ocor = udh.id_unidade_dado_hist_ocor and udho.id_unidade_dado_hist_ocor_tipo = $2 inner join curso c on c.id_curso = udh.id_curso where udh.id_unidade_funcional = u.id_unidade_funcional and udh.id_curso = cu.id_curso order by udh.data_inicio_vigencia desc limit 1) as autorizacao_curso, (u.endereco || coalesce(', ' || nullif (trim(u.numero), ''), '') || coalesce(', ' || nullif (trim(u.bairro), ''), '') || coalesce(', ' || nullif (trim(formatar_cep (u.cep)), ''), '') || ', ' || m.nome) as endereco_escola, ( select string_agg(formatar_telefone (tel.ddd, tel.numero), ', ') from contato_telefonico ct inner join telefone tel on tel.id_telefone = ct.id_telefone where ct.id_unidade_funcional = u.id_unidade_funcional) as telefones_escola, c.nome, a.codigo as matricula, t.codigo as turma, cu.sigla as curso, s.sigla as serie, tu.sigla as turno, array_to_string(array[nullif (trim(c.nome_mae), ''), nullif (trim(c.nome_pai), ''), nullif ( case when a.id_responsavel_tipo = $3 then trim(a.nome_responsavel) else null end, '')], ', ') as filiacao, to_char(c.nascimento_data, 'DD/MM/YYYY') as data_nascimento, ( select sum(qtd_faltas)::integer from ( select f.qtd_faltas from falta_aluno_globalizada f where f.id_aluno_matricula = amt.id_aluno_matricula and f.id_turma = amt.id_turma union all select f.qtd_faltas from falta_aluno_disciplina f where f.id_aluno_matricula = amt.id_aluno_matricula and f.id_turma = amt.id_turma) f) as faltas, ( 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 = am.id_cidadao) as necessidade_especial, null as percentual_frequencia, null as parecer_conclusivo, ms.nome as municipio_secretaria, ams.flg_status_ativo, case when am.id_aluno_matr_status = $4 and sem_unificado.id_aluno_matr_status = $5 then ams.descricao || coalesce(' em ' || ultimo_historico.data_ocorrencia) else ams.descricao || coalesce(' em ' || sem_unificado.data_ocorrencia) end as situacao, coalesce(pc.flg_reclassificado_frequencia, false) as flg_reclassificado_frequencia, pa.frequencia_min_aprovacao from aluno_matricula am inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional inner join aluno a on a.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join cidadao c on c.id_cidadao = am.id_cidadao inner join curso cu on cu.id_curso = am.id_curso inner join serie s on s.id_serie = am.id_serie inner join municipio m on m.id_municipio = u.id_municipio inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma t on t.id_turma = amt.id_turma inner join turno tu on tu.id_turno = t.id_turno inner join unidade_funcional secretaria on secretaria.id_instituicao = u.id_instituicao and secretaria.id_nivel_unidade_funcional = 1 inner join municipio ms on ms.id_municipio = secretaria.id_municipio left join parecer_conclusivo pc on pc.id_aluno_matricula = am.id_aluno_matricula left join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao left join lateral ( select amsh.id_aluno_matr_status, ams.flg_status_ativo, to_char(amsh.data_ocorrencia, 'DD/MM/YYYY') as data_ocorrencia from aluno_matr_status_hist amsh inner join aluno_matr_status ams on ams.id_aluno_matr_status = amsh.id_aluno_matr_status where amsh.id_aluno_matr_status <> $6 and amsh.id_aluno_matricula = am.id_aluno_matricula order by amsh.data_ocorrencia desc, amsh.id_aluno_matr_status_hist desc limit 1) as sem_unificado on true left join lateral ( select to_char(amsh.data_ocorrencia, 'DD/MM/YYYY') as data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.id_aluno_matr_status = am.id_aluno_matr_status order by amsh.data_ocorrencia desc limit 1) as ultimo_historico on true inner join aluno_matr_status ams on ams.id_aluno_matr_status = case when am.id_aluno_matr_status = $7 and sem_unificado.id_aluno_matr_status = $8 then am.id_aluno_matr_status else sem_unificado.id_aluno_matr_status end where am.id_aluno_matricula = $9;
Date: 2024-12-16 11:23:54 Duration: 763ms Database: postgres parameters: $1 = '240001176', $2 = '240001186', $3 = '240002699', $4 = '240002736', $5 = '240002805', $6 = '240002806', $7 = '240002807', $8 = '240002808', $9 = '240002909', $10 = '240002910', $11 = '240003484', $12 = '240003485', $13 = '99245', $14 = '99245', $15 = '240001176', $16 = '240001186', $17 = '240002699', $18 = '240002736', $19 = '240002805', $20 = '240002806', $21 = '240002807', $22 = '240002808', $23 = '240002909', $24 = '240002910', $25 = '240003484', $26 = '240003485'
-
select am.id_aluno_matricula, am.id_cidadao, amt.id_turma, to_char(now(), 'DD/MM/YYYY') as data_emissao, to_char(now(), 'HH24:mi:ss') as hora_emissao, u.nome as escola, ano.ano || coalesce('/' || ano.semestre, '') as ano, ( select string_agg(udh.identificacao_ato || ' Nº ' || udh.num_ato, ', ' order by udh.data_referencia_ato desc, udh.data_inclusao desc, udh.id_unidade_dado_historico desc) from unidade_dado_historico udh inner join unidade_dado_hist_ocor udho on udho.id_unidade_dado_hist_ocor = udh.id_unidade_dado_hist_ocor where udh.id_unidade_funcional = u.id_unidade_funcional and udho.id_unidade_dado_hist_ocor_tipo = $1) as autorizacao_escola, ( select udh.identificacao_ato || ' Nº ' || udh.num_ato from unidade_dado_historico udh inner join unidade_dado_hist_ocor udho on udho.id_unidade_dado_hist_ocor = udh.id_unidade_dado_hist_ocor and udho.id_unidade_dado_hist_ocor_tipo = $2 inner join curso c on c.id_curso = udh.id_curso where udh.id_unidade_funcional = u.id_unidade_funcional and udh.id_curso = cu.id_curso order by udh.data_inicio_vigencia desc limit 1) as autorizacao_curso, (u.endereco || coalesce(', ' || nullif (trim(u.numero), ''), '') || coalesce(', ' || nullif (trim(u.bairro), ''), '') || coalesce(', ' || nullif (trim(formatar_cep (u.cep)), ''), '') || ', ' || m.nome) as endereco_escola, ( select string_agg(formatar_telefone (tel.ddd, tel.numero), ', ') from contato_telefonico ct inner join telefone tel on tel.id_telefone = ct.id_telefone where ct.id_unidade_funcional = u.id_unidade_funcional) as telefones_escola, c.nome, a.codigo as matricula, t.codigo as turma, cu.sigla as curso, s.sigla as serie, tu.sigla as turno, array_to_string(array[nullif (trim(c.nome_mae), ''), nullif (trim(c.nome_pai), ''), nullif ( case when a.id_responsavel_tipo = $3 then trim(a.nome_responsavel) else null end, '')], ', ') as filiacao, to_char(c.nascimento_data, 'DD/MM/YYYY') as data_nascimento, ( select sum(qtd_faltas)::integer from ( select f.qtd_faltas from falta_aluno_globalizada f where f.id_aluno_matricula = amt.id_aluno_matricula and f.id_turma = amt.id_turma union all select f.qtd_faltas from falta_aluno_disciplina f where f.id_aluno_matricula = amt.id_aluno_matricula and f.id_turma = amt.id_turma) f) as faltas, ( 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 = am.id_cidadao) as necessidade_especial, null as percentual_frequencia, null as parecer_conclusivo, ms.nome as municipio_secretaria, ams.flg_status_ativo, case when am.id_aluno_matr_status = $4 and sem_unificado.id_aluno_matr_status = $5 then ams.descricao || coalesce(' em ' || ultimo_historico.data_ocorrencia) else ams.descricao || coalesce(' em ' || sem_unificado.data_ocorrencia) end as situacao, coalesce(pc.flg_reclassificado_frequencia, false) as flg_reclassificado_frequencia, pa.frequencia_min_aprovacao from aluno_matricula am inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional inner join aluno a on a.id_cidadao = am.id_cidadao inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join cidadao c on c.id_cidadao = am.id_cidadao inner join curso cu on cu.id_curso = am.id_curso inner join serie s on s.id_serie = am.id_serie inner join municipio m on m.id_municipio = u.id_municipio inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma t on t.id_turma = amt.id_turma inner join turno tu on tu.id_turno = t.id_turno inner join unidade_funcional secretaria on secretaria.id_instituicao = u.id_instituicao and secretaria.id_nivel_unidade_funcional = 1 inner join municipio ms on ms.id_municipio = secretaria.id_municipio left join parecer_conclusivo pc on pc.id_aluno_matricula = am.id_aluno_matricula left join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao left join lateral ( select amsh.id_aluno_matr_status, ams.flg_status_ativo, to_char(amsh.data_ocorrencia, 'DD/MM/YYYY') as data_ocorrencia from aluno_matr_status_hist amsh inner join aluno_matr_status ams on ams.id_aluno_matr_status = amsh.id_aluno_matr_status where amsh.id_aluno_matr_status <> $6 and amsh.id_aluno_matricula = am.id_aluno_matricula order by amsh.data_ocorrencia desc, amsh.id_aluno_matr_status_hist desc limit 1) as sem_unificado on true left join lateral ( select to_char(amsh.data_ocorrencia, 'DD/MM/YYYY') as data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.id_aluno_matr_status = am.id_aluno_matr_status order by amsh.data_ocorrencia desc limit 1) as ultimo_historico on true inner join aluno_matr_status ams on ams.id_aluno_matr_status = case when am.id_aluno_matr_status = $7 and sem_unificado.id_aluno_matr_status = $8 then am.id_aluno_matr_status else sem_unificado.id_aluno_matr_status end where am.id_aluno_matricula = $9;
Date: 2024-12-16 09:57:58 Duration: 675ms Database: postgres parameters: $1 = '0', $2 = '0', $3 = '0', $4 = '240002141', $5 = '106', $6 = '5'
12 6s5ms 11 505ms 623ms 545ms select fad.id_turma, fad.id_aluno_matricula, fad.id_disciplina, fad.id_nota_periodo_aluno, fad.falta_justificada, fad.falta_nao_justificada, fad.qtd_faltas from falta_aluno_disciplina fad inner join turma on turma.id_turma = fad.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and turma.flg_frequencia_diaria is false and exists ( select null from turma_componente_servidor tcs inner join turma_componente tc on tc.id_turma_componente = tcs.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tc.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tcs.id_servidor_cargo_base in ( select id_servidor_cargo_base from servidor_cargo_base where flg_aberto = true and id_cidadao = $1) and tc.id_turma = fad.id_turma and d.id_disciplina = fad.id_disciplina) and exists ( select null from registro_falta_disciplina registro where registro.data_atualizacao > $2 and registro.id_turma = fad.id_turma and registro.id_disciplina = fad.id_disciplina and registro.id_nota_periodo_aluno = fad.id_nota_periodo_aluno) union all select fad.id_turma, fad.id_aluno_matricula, fad.id_disciplina, fad.id_nota_periodo_aluno, fad.falta_justificada, fad.falta_nao_justificada, fad.qtd_faltas from falta_aluno_disciplina fad inner join turma on turma.id_turma = fad.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and turma.flg_frequencia_diaria is false and exists ( select null from turma_regencia_atribuicao tra inner join turma_regencia_atrib_srv tras on tras.id_turma_regencia_atribuicao = tra.id_turma_regencia_atribuicao where tra.id_turma = turma.id_turma and tras.id_cidadao = $3) and exists ( select null from registro_falta_disciplina registro where registro.data_atualizacao > $4 and registro.id_turma = fad.id_turma and registro.id_disciplina = fad.id_disciplina and registro.id_nota_periodo_aluno = fad.id_nota_periodo_aluno);Times Reported Time consuming bind #12
Day Hour Count Duration Avg duration 07 3 1s612ms 537ms 08 3 1s745ms 581ms 09 5 2s647ms 529ms -
select fad.id_turma, fad.id_aluno_matricula, fad.id_disciplina, fad.id_nota_periodo_aluno, fad.falta_justificada, fad.falta_nao_justificada, fad.qtd_faltas from falta_aluno_disciplina fad inner join turma on turma.id_turma = fad.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and turma.flg_frequencia_diaria is false and exists ( select null from turma_componente_servidor tcs inner join turma_componente tc on tc.id_turma_componente = tcs.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tc.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tcs.id_servidor_cargo_base in ( select id_servidor_cargo_base from servidor_cargo_base where flg_aberto = true and id_cidadao = $1) and tc.id_turma = fad.id_turma and d.id_disciplina = fad.id_disciplina) and exists ( select null from registro_falta_disciplina registro where registro.data_atualizacao > $2 and registro.id_turma = fad.id_turma and registro.id_disciplina = fad.id_disciplina and registro.id_nota_periodo_aluno = fad.id_nota_periodo_aluno) union all select fad.id_turma, fad.id_aluno_matricula, fad.id_disciplina, fad.id_nota_periodo_aluno, fad.falta_justificada, fad.falta_nao_justificada, fad.qtd_faltas from falta_aluno_disciplina fad inner join turma on turma.id_turma = fad.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and turma.flg_frequencia_diaria is false and exists ( select null from turma_regencia_atribuicao tra inner join turma_regencia_atrib_srv tras on tras.id_turma_regencia_atribuicao = tra.id_turma_regencia_atribuicao where tra.id_turma = turma.id_turma and tras.id_cidadao = $3) and exists ( select null from registro_falta_disciplina registro where registro.data_atualizacao > $4 and registro.id_turma = fad.id_turma and registro.id_disciplina = fad.id_disciplina and registro.id_nota_periodo_aluno = fad.id_nota_periodo_aluno);
Date: 2024-12-16 09:22:17 Duration: 623ms Database: postgres parameters: $1 = '240002118', $2 = '1740552', $3 = '240002118'
-
select fad.id_turma, fad.id_aluno_matricula, fad.id_disciplina, fad.id_nota_periodo_aluno, fad.falta_justificada, fad.falta_nao_justificada, fad.qtd_faltas from falta_aluno_disciplina fad inner join turma on turma.id_turma = fad.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and turma.flg_frequencia_diaria is false and exists ( select null from turma_componente_servidor tcs inner join turma_componente tc on tc.id_turma_componente = tcs.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tc.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tcs.id_servidor_cargo_base in ( select id_servidor_cargo_base from servidor_cargo_base where flg_aberto = true and id_cidadao = $1) and tc.id_turma = fad.id_turma and d.id_disciplina = fad.id_disciplina) and exists ( select null from registro_falta_disciplina registro where registro.data_atualizacao > $2 and registro.id_turma = fad.id_turma and registro.id_disciplina = fad.id_disciplina and registro.id_nota_periodo_aluno = fad.id_nota_periodo_aluno) union all select fad.id_turma, fad.id_aluno_matricula, fad.id_disciplina, fad.id_nota_periodo_aluno, fad.falta_justificada, fad.falta_nao_justificada, fad.qtd_faltas from falta_aluno_disciplina fad inner join turma on turma.id_turma = fad.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and turma.flg_frequencia_diaria is false and exists ( select null from turma_regencia_atribuicao tra inner join turma_regencia_atrib_srv tras on tras.id_turma_regencia_atribuicao = tra.id_turma_regencia_atribuicao where tra.id_turma = turma.id_turma and tras.id_cidadao = $3) and exists ( select null from registro_falta_disciplina registro where registro.data_atualizacao > $4 and registro.id_turma = fad.id_turma and registro.id_disciplina = fad.id_disciplina and registro.id_nota_periodo_aluno = fad.id_nota_periodo_aluno);
Date: 2024-12-16 10:33:38 Duration: 604ms Database: postgres parameters: $1 = '84471', $2 = '2024-12-16 10:32:21.341', $3 = '84471', $4 = '2024-12-16 10:32:21.341'
-
select fad.id_turma, fad.id_aluno_matricula, fad.id_disciplina, fad.id_nota_periodo_aluno, fad.falta_justificada, fad.falta_nao_justificada, fad.qtd_faltas from falta_aluno_disciplina fad inner join turma on turma.id_turma = fad.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and turma.flg_frequencia_diaria is false and exists ( select null from turma_componente_servidor tcs inner join turma_componente tc on tc.id_turma_componente = tcs.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma_disciplina on turma_disciplina.id_turma = tc.id_turma and turma_disciplina.id_componente_curricular = cc.id_componente_curricular inner join disciplina d on d.id_disciplina = coalesce(cc.id_disciplina, turma_disciplina.id_disciplina) where tcs.id_servidor_cargo_base in ( select id_servidor_cargo_base from servidor_cargo_base where flg_aberto = true and id_cidadao = $1) and tc.id_turma = fad.id_turma and d.id_disciplina = fad.id_disciplina) and exists ( select null from registro_falta_disciplina registro where registro.data_atualizacao > $2 and registro.id_turma = fad.id_turma and registro.id_disciplina = fad.id_disciplina and registro.id_nota_periodo_aluno = fad.id_nota_periodo_aluno) union all select fad.id_turma, fad.id_aluno_matricula, fad.id_disciplina, fad.id_nota_periodo_aluno, fad.falta_justificada, fad.falta_nao_justificada, fad.qtd_faltas from falta_aluno_disciplina fad inner join turma on turma.id_turma = fad.id_turma where turma.id_turma_status = 1 and turma.flg_organizada is true and turma.flg_frequencia_diaria is false and exists ( select null from turma_regencia_atribuicao tra inner join turma_regencia_atrib_srv tras on tras.id_turma_regencia_atribuicao = tra.id_turma_regencia_atribuicao where tra.id_turma = turma.id_turma and tras.id_cidadao = $3) and exists ( select null from registro_falta_disciplina registro where registro.data_atualizacao > $4 and registro.id_turma = fad.id_turma and registro.id_disciplina = fad.id_disciplina and registro.id_nota_periodo_aluno = fad.id_nota_periodo_aluno);
Date: 2024-12-16 09:22:15 Duration: 564ms Database: postgres parameters: $1 = '240001758', $2 = '2012421', $3 = '240001758'
13 4s999ms 7 514ms 971ms 714ms select count(*) as contagem from (( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and (c.nome ilike '%' || $7 || '%') and professor_unidade.id_unidade_funcional = $8 and (c.id_instituicao = $9)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $10 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $14) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $15) and (c.nome ilike $16) and professor_unidade.id_unidade_funcional = $17 and (c.id_instituicao = $18)) order by rf_integer, professor, servidor_cargo) tabela;Times Reported Time consuming bind #13
Day Hour Count Duration Avg duration 06 1 588ms 588ms 07 2 1s341ms 670ms 08 3 2s392ms 797ms 09 1 677ms 677ms -
select count(*) as contagem from (( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and (c.nome ilike '%' || $7 || '%') and professor_unidade.id_unidade_funcional = $8 and (c.id_instituicao = $9)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $10 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $14) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $15) and (c.nome ilike $16) and professor_unidade.id_unidade_funcional = $17 and (c.id_instituicao = $18)) order by rf_integer, professor, servidor_cargo) tabela;
Date: 2024-12-16 09:26:38 Duration: 971ms Database: postgres parameters: $1 = '7', $2 = '2024', $3 = '2024', $4 = '2024', $5 = '2024', $6 = '2024', $7 = 'anastacia', $8 = '607310', $9 = '97', $10 = '7', $11 = '2024', $12 = '2024', $13 = '2024', $14 = '2024', $15 = '2024', $16 = 'anastacia', $17 = '607310', $18 = '97'
-
select count(*) as contagem from (( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and (c.nome ilike '%' || $7 || '%') and professor_unidade.id_unidade_funcional = $8 and (c.id_instituicao = $9)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $10 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $14) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $15) and (c.nome ilike $16) and professor_unidade.id_unidade_funcional = $17 and (c.id_instituicao = $18)) order by rf_integer, professor, servidor_cargo) tabela;
Date: 2024-12-16 09:22:11 Duration: 905ms Database: postgres parameters: $1 = '7', $2 = '2024', $3 = '2024', $4 = '2024', $5 = '2024', $6 = '2024', $7 = 'TATIANE', $8 = '443', $9 = '82', $10 = '7', $11 = '2024', $12 = '2024', $13 = '2024', $14 = '2024', $15 = '2024', $16 = 'TATIANE', $17 = '443', $18 = '82'
-
select count(*) as contagem from (( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and (c.nome ilike '%' || $7 || '%') and professor_unidade.id_unidade_funcional = $8 and (c.id_instituicao = $9)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $10 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $14) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $15) and (c.nome ilike $16) and professor_unidade.id_unidade_funcional = $17 and (c.id_instituicao = $18)) order by rf_integer, professor, servidor_cargo) tabela;
Date: 2024-12-16 08:56:55 Duration: 753ms Database: postgres parameters: $1 = '7', $2 = '2024', $3 = '2024', $4 = '2024', $5 = '2024', $6 = '2024', $7 = 'SIMONI ROCHA CARVALHO COSTA', $8 = '351', $9 = '82', $10 = '7', $11 = '2024', $12 = '2024', $13 = '2024', $14 = '2024', $15 = '2024', $16 = 'SIMONI ROCHA CARVALHO COSTA', $17 = '351', $18 = '82'
14 4s409ms 5 582ms 1s108ms 881ms ( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and (c.nome ilike '%' || $7 || '%') and professor_unidade.id_unidade_funcional = $8 and (c.id_instituicao = $9)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $10 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $14) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $15) and (c.nome ilike $16) and professor_unidade.id_unidade_funcional = $17 and (c.id_instituicao = $18)) order by rf_integer, professor, servidor_cargo limit 20;Times Reported Time consuming bind #14
Day Hour Count Duration Avg duration 07 2 1s690ms 845ms 08 1 854ms 854ms 09 2 1s864ms 932ms -
( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and (c.nome ilike '%' || $7 || '%') and professor_unidade.id_unidade_funcional = $8 and (c.id_instituicao = $9)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $10 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $14) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $15) and (c.nome ilike $16) and professor_unidade.id_unidade_funcional = $17 and (c.id_instituicao = $18)) order by rf_integer, professor, servidor_cargo limit 20;
Date: 2024-12-16 08:56:57 Duration: 1s108ms Database: postgres parameters: $1 = '7', $2 = '2024', $3 = '2024', $4 = '2024', $5 = '2024', $6 = '2024', $7 = 'SIMONI ROCHA CARVALHO COSTA', $8 = '351', $9 = '82', $10 = '7', $11 = '2024', $12 = '2024', $13 = '2024', $14 = '2024', $15 = '2024', $16 = 'SIMONI ROCHA CARVALHO COSTA', $17 = '351', $18 = '82'
-
( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and (c.nome ilike '%' || $7 || '%') and professor_unidade.id_unidade_funcional = $8 and (c.id_instituicao = $9)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $10 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $14) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $15) and (c.nome ilike $16) and professor_unidade.id_unidade_funcional = $17 and (c.id_instituicao = $18)) order by rf_integer, professor, servidor_cargo limit 20;
Date: 2024-12-16 10:46:32 Duration: 1s65ms Database: postgres parameters: $1 = '0', $2 = '0', $3 = '0', $4 = '240001812', $5 = '103', $6 = '6'
-
( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and (c.nome ilike '%' || $7 || '%') and professor_unidade.id_unidade_funcional = $8 and (c.id_instituicao = $9)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $10 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $14) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $15) and (c.nome ilike $16) and professor_unidade.id_unidade_funcional = $17 and (c.id_instituicao = $18)) order by rf_integer, professor, servidor_cargo limit 20;
Date: 2024-12-16 09:22:13 Duration: 854ms Database: postgres parameters: $1 = '7', $2 = '2024', $3 = '2024', $4 = '2024', $5 = '2024', $6 = '2024', $7 = 'TATIANE', $8 = '443', $9 = '82', $10 = '7', $11 = '2024', $12 = '2024', $13 = '2024', $14 = '2024', $15 = '2024', $16 = 'TATIANE', $17 = '443', $18 = '82'
15 4s208ms 6 532ms 1s110ms 701ms select count(*) as contagem from (( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by rf_integer, professor, servidor_cargo) tabela;Times Reported Time consuming bind #15
Day Hour Count Duration Avg duration 07 1 617ms 617ms 08 3 2s240ms 746ms 09 2 1s349ms 674ms -
select count(*) as contagem from (( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by rf_integer, professor, servidor_cargo) tabela;
Date: 2024-12-16 09:22:27 Duration: 1s110ms Database: postgres parameters: $1 = '7', $2 = '2024', $3 = '2024', $4 = '2024', $5 = '2024', $6 = '2024', $7 = '605785', $8 = '72', $9 = '7', $10 = '2024', $11 = '2024', $12 = '2024', $13 = '2024', $14 = '2024', $15 = '605785', $16 = '72'
-
select count(*) as contagem from (( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by rf_integer, professor, servidor_cargo) tabela;
Date: 2024-12-16 10:46:33 Duration: 781ms Database: postgres parameters: $1 = '7', $2 = '2024', $3 = '2024', $4 = '2024', $5 = '2024', $6 = '2024', $7 = '392', $8 = '82', $9 = '7', $10 = '2024', $11 = '2024', $12 = '2024', $13 = '2024', $14 = '2024', $15 = '392', $16 = '82'
-
select count(*) as contagem from (( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by rf_integer, professor, servidor_cargo) tabela;
Date: 2024-12-16 08:23:29 Duration: 617ms Database: postgres parameters: $1 = '7', $2 = '2024', $3 = '2024', $4 = '2024', $5 = '2024', $6 = '2024', $7 = '605785', $8 = '72', $9 = '7', $10 = '2024', $11 = '2024', $12 = '2024', $13 = '2024', $14 = '2024', $15 = '605785', $16 = '72'
16 4s40ms 4 573ms 1s549ms 1s10ms 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 = $1 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 ($2, $3, $4, $5, $6) and npa.id_nota_periodo_aluno = bimestre_para_periodo ($7, 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 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 = $8 and mad.id_categoria_modelo_avaliacao_desc = $9 and mad.id_periodicidade_apontamento_avaliacao_desc = $10 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 <= $11) and (mdp.periodos is null or not mdp.periodos @> ARRAY[$12]) and emap.id_nota_periodo_aluno = $13 and am.id_aluno_matr_status in ($14, $15, $16) 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 = $17 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)))));Times Reported Time consuming bind #16
Day Hour Count Duration Avg duration 07 4 4s40ms 1s10ms -
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 = $1 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 ($2, $3, $4, $5, $6) and npa.id_nota_periodo_aluno = bimestre_para_periodo ($7, 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 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 = $8 and mad.id_categoria_modelo_avaliacao_desc = $9 and mad.id_periodicidade_apontamento_avaliacao_desc = $10 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 <= $11) and (mdp.periodos is null or not mdp.periodos @> ARRAY[$12]) and emap.id_nota_periodo_aluno = $13 and am.id_aluno_matr_status in ($14, $15, $16) 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 = $17 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)))));
Date: 2024-12-16 08:17:18 Duration: 1s549ms Database: postgres parameters: $1 = '2024', $2 = '240008656', $3 = '240008657', $4 = '240008648', $5 = '240008647', $6 = '240008645', $7 = '3', $8 = '4', $9 = '1', $10 = '1', $11 = '3', $12 = '3', $13 = '3', $14 = '1', $15 = '2', $16 = '7', $17 = '3'
-
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 = $1 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 ($2, $3, $4, $5, $6) and npa.id_nota_periodo_aluno = bimestre_para_periodo ($7, 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 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 = $8 and mad.id_categoria_modelo_avaliacao_desc = $9 and mad.id_periodicidade_apontamento_avaliacao_desc = $10 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 <= $11) and (mdp.periodos is null or not mdp.periodos @> ARRAY[$12]) and emap.id_nota_periodo_aluno = $13 and am.id_aluno_matr_status in ($14, $15, $16) 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 = $17 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)))));
Date: 2024-12-16 08:16:45 Duration: 1s286ms Database: postgres parameters: $1 = '2024', $2 = '240008656', $3 = '240008657', $4 = '240008648', $5 = '240008647', $6 = '240008645', $7 = '2', $8 = '4', $9 = '1', $10 = '1', $11 = '2', $12 = '2', $13 = '2', $14 = '1', $15 = '2', $16 = '7', $17 = '2'
-
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 = $1 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 ($2, $3, $4, $5, $6) and npa.id_nota_periodo_aluno = bimestre_para_periodo ($7, 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 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 = $8 and mad.id_categoria_modelo_avaliacao_desc = $9 and mad.id_periodicidade_apontamento_avaliacao_desc = $10 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 <= $11) and (mdp.periodos is null or not mdp.periodos @> ARRAY[$12]) and emap.id_nota_periodo_aluno = $13 and am.id_aluno_matr_status in ($14, $15, $16) 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 = $17 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)))));
Date: 2024-12-16 08:16:20 Duration: 631ms Database: postgres parameters: $1 = '2024', $2 = '240008656', $3 = '240008657', $4 = '240008648', $5 = '240008647', $6 = '240008645', $7 = '1', $8 = '4', $9 = '1', $10 = '1', $11 = '1', $12 = '1', $13 = '1', $14 = '1', $15 = '2', $16 = '7', $17 = '1'
17 3s990ms 6 554ms 844ms 665ms select date_part('year', calendario_periodo_data.data)::integer as ano, date_part('month', calendario_periodo_data.data)::integer as mes, coalesce(count(distinct case when calendario_data.id_motivo_dia_nao_letivo is null then calendario_periodo_data.data else null end), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas from aluno_matricula am inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario curso_cal on curso_cal.id_curso = curso.id_curso and curso_cal.ano = ano.ano and curso_cal.id_unidade_funcional = turma.id_unidade_funcional and curso.flg_calendario_diferenciado = true inner join calendario c on c.id_calendario = coalesce(turma.id_calendario_turma, curso_cal.id_calendario, ec.id_calendario) left join lateral ( select min(tp.periodo_calendario_inicio) as inicio, max(tp.periodo_calendario_fim) as fim from turma_periodo tp where tp.id_turma = amt.id_turma) as periodos on 1 = 1 inner join calendario_periodo periodo_inicio on periodo_inicio.id_calendario = c.id_calendario and periodo_inicio.ordem = periodos.inicio inner join calendario_periodo periodo_fim on periodo_fim.id_calendario = c.id_calendario and periodo_fim.ordem = periodos.fim left join lateral ( select amsh.id_aluno_matr_status, amsh.data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= $1 and amsh.id_aluno_matr_status not in (1, 5) order by amsh.data_ocorrencia desc limit 1) situacao on 1 = 1 inner join lateral ( select greatest (am.data_matricula::date, periodo_inicio.data_inicio) as inicio, least (periodo_fim.data_final, situacao.data_ocorrencia::date) as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = c.id_calendario left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and calendario_data.id_motivo_dia_nao_letivo is null where am.id_cidadao = $2 and ano.ano = $3 and calendario_periodo_data.data <= $4 and serie.flg_apon_falta_globalizado is true and calendario_periodo_data.data between datas.inicio and datas.fim and (extract(dow from calendario_periodo_data.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null) group by date_part('year', calendario_periodo_data.data), date_part('month', calendario_periodo_data.data) order by ano, mes;Times Reported Time consuming bind #17
Day Hour Count Duration Avg duration 08 2 1s296ms 648ms 09 4 2s693ms 673ms -
select date_part('year', calendario_periodo_data.data)::integer as ano, date_part('month', calendario_periodo_data.data)::integer as mes, coalesce(count(distinct case when calendario_data.id_motivo_dia_nao_letivo is null then calendario_periodo_data.data else null end), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas from aluno_matricula am inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario curso_cal on curso_cal.id_curso = curso.id_curso and curso_cal.ano = ano.ano and curso_cal.id_unidade_funcional = turma.id_unidade_funcional and curso.flg_calendario_diferenciado = true inner join calendario c on c.id_calendario = coalesce(turma.id_calendario_turma, curso_cal.id_calendario, ec.id_calendario) left join lateral ( select min(tp.periodo_calendario_inicio) as inicio, max(tp.periodo_calendario_fim) as fim from turma_periodo tp where tp.id_turma = amt.id_turma) as periodos on 1 = 1 inner join calendario_periodo periodo_inicio on periodo_inicio.id_calendario = c.id_calendario and periodo_inicio.ordem = periodos.inicio inner join calendario_periodo periodo_fim on periodo_fim.id_calendario = c.id_calendario and periodo_fim.ordem = periodos.fim left join lateral ( select amsh.id_aluno_matr_status, amsh.data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= $1 and amsh.id_aluno_matr_status not in (1, 5) order by amsh.data_ocorrencia desc limit 1) situacao on 1 = 1 inner join lateral ( select greatest (am.data_matricula::date, periodo_inicio.data_inicio) as inicio, least (periodo_fim.data_final, situacao.data_ocorrencia::date) as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = c.id_calendario left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and calendario_data.id_motivo_dia_nao_letivo is null where am.id_cidadao = $2 and ano.ano = $3 and calendario_periodo_data.data <= $4 and serie.flg_apon_falta_globalizado is true and calendario_periodo_data.data between datas.inicio and datas.fim and (extract(dow from calendario_periodo_data.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null) group by date_part('year', calendario_periodo_data.data), date_part('month', calendario_periodo_data.data) order by ano, mes;
Date: 2024-12-16 10:37:57 Duration: 844ms Database: postgres parameters: $1 = '0', $2 = '0', $3 = '0', $4 = '240006369', $5 = '1950', $6 = '1809'
-
select date_part('year', calendario_periodo_data.data)::integer as ano, date_part('month', calendario_periodo_data.data)::integer as mes, coalesce(count(distinct case when calendario_data.id_motivo_dia_nao_letivo is null then calendario_periodo_data.data else null end), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas from aluno_matricula am inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario curso_cal on curso_cal.id_curso = curso.id_curso and curso_cal.ano = ano.ano and curso_cal.id_unidade_funcional = turma.id_unidade_funcional and curso.flg_calendario_diferenciado = true inner join calendario c on c.id_calendario = coalesce(turma.id_calendario_turma, curso_cal.id_calendario, ec.id_calendario) left join lateral ( select min(tp.periodo_calendario_inicio) as inicio, max(tp.periodo_calendario_fim) as fim from turma_periodo tp where tp.id_turma = amt.id_turma) as periodos on 1 = 1 inner join calendario_periodo periodo_inicio on periodo_inicio.id_calendario = c.id_calendario and periodo_inicio.ordem = periodos.inicio inner join calendario_periodo periodo_fim on periodo_fim.id_calendario = c.id_calendario and periodo_fim.ordem = periodos.fim left join lateral ( select amsh.id_aluno_matr_status, amsh.data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= $1 and amsh.id_aluno_matr_status not in (1, 5) order by amsh.data_ocorrencia desc limit 1) situacao on 1 = 1 inner join lateral ( select greatest (am.data_matricula::date, periodo_inicio.data_inicio) as inicio, least (periodo_fim.data_final, situacao.data_ocorrencia::date) as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = c.id_calendario left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and calendario_data.id_motivo_dia_nao_letivo is null where am.id_cidadao = $2 and ano.ano = $3 and calendario_periodo_data.data <= $4 and serie.flg_apon_falta_globalizado is true and calendario_periodo_data.data between datas.inicio and datas.fim and (extract(dow from calendario_periodo_data.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null) group by date_part('year', calendario_periodo_data.data), date_part('month', calendario_periodo_data.data) order by ano, mes;
Date: 2024-12-16 09:22:26 Duration: 699ms Database: postgres parameters: $1 = '0', $2 = '0', $3 = '0', $4 = '240015598', $5 = '1988'
-
select date_part('year', calendario_periodo_data.data)::integer as ano, date_part('month', calendario_periodo_data.data)::integer as mes, coalesce(count(distinct case when calendario_data.id_motivo_dia_nao_letivo is null then calendario_periodo_data.data else null end), 0)::integer as aulas, coalesce(count(falta.id_aluno_matricula), 0)::integer as faltas from aluno_matricula am inner join ano_semestre ano on ano.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula and amt.id_tipo_enturmacao = 1 inner join turma on turma.id_turma = amt.id_turma inner join serie on serie.id_serie = amt.id_serie_enturmacao inner join curso on curso.id_curso = serie.id_curso left join escola_calendario ec on ec.id_unidade_funcional = turma.id_unidade_funcional and ec.ano = ano.ano left join curso_calendario curso_cal on curso_cal.id_curso = curso.id_curso and curso_cal.ano = ano.ano and curso_cal.id_unidade_funcional = turma.id_unidade_funcional and curso.flg_calendario_diferenciado = true inner join calendario c on c.id_calendario = coalesce(turma.id_calendario_turma, curso_cal.id_calendario, ec.id_calendario) left join lateral ( select min(tp.periodo_calendario_inicio) as inicio, max(tp.periodo_calendario_fim) as fim from turma_periodo tp where tp.id_turma = amt.id_turma) as periodos on 1 = 1 inner join calendario_periodo periodo_inicio on periodo_inicio.id_calendario = c.id_calendario and periodo_inicio.ordem = periodos.inicio inner join calendario_periodo periodo_fim on periodo_fim.id_calendario = c.id_calendario and periodo_fim.ordem = periodos.fim left join lateral ( select amsh.id_aluno_matr_status, amsh.data_ocorrencia from aluno_matr_status_hist amsh where amsh.id_aluno_matricula = am.id_aluno_matricula and amsh.data_ocorrencia::date <= $1 and amsh.id_aluno_matr_status not in (1, 5) order by amsh.data_ocorrencia desc limit 1) situacao on 1 = 1 inner join lateral ( select greatest (am.data_matricula::date, periodo_inicio.data_inicio) as inicio, least (periodo_fim.data_final, situacao.data_ocorrencia::date) as fim) datas on 1 = 1 inner join calendario_periodo_data on calendario_periodo_data.id_calendario = c.id_calendario left join calendario_data on calendario_data.id_calendario = calendario_periodo_data.id_calendario and calendario_data.data = calendario_periodo_data.data left join falta_aluno_globalizada_diario falta on falta.id_aluno_matricula = am.id_aluno_matricula and falta.id_turma = amt.id_turma and falta.data = calendario_periodo_data.data and falta.flg_justificada is false and calendario_data.id_motivo_dia_nao_letivo is null where am.id_cidadao = $2 and ano.ano = $3 and calendario_periodo_data.data <= $4 and serie.flg_apon_falta_globalizado is true and calendario_periodo_data.data between datas.inicio and datas.fim and (extract(dow from calendario_periodo_data.data) between 1 and 5 or calendario_data.id_motivo_dia_letivo_extra is not null) group by date_part('year', calendario_periodo_data.data), date_part('month', calendario_periodo_data.data) order by ano, mes;
Date: 2024-12-16 10:33:53 Duration: 673ms Database: postgres parameters: $1 = '1', $2 = '2', $3 = '4', $4 = '3043413', $5 = '240009219'
18 3s513ms 5 577ms 879ms 702ms ( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by rf_integer, professor, servidor_cargo limit 20;Times Reported Time consuming bind #18
Day Hour Count Duration Avg duration 07 1 710ms 710ms 08 2 1s272ms 636ms 09 2 1s530ms 765ms -
( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by rf_integer, professor, servidor_cargo limit 20;
Date: 2024-12-16 10:21:12 Duration: 879ms Database: postgres parameters: $1 = '7', $2 = '2024', $3 = '2024', $4 = '2024', $5 = '2024', $6 = '2024', $7 = '605732', $8 = '72', $9 = '7', $10 = '2024', $11 = '2024', $12 = '2024', $13 = '2024', $14 = '2024', $15 = '605732', $16 = '72'
-
( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by rf_integer, professor, servidor_cargo limit 20;
Date: 2024-12-16 08:23:31 Duration: 710ms Database: postgres parameters: $1 = '0', $2 = '17363792', $3 = '0', $4 = '240006014', $5 = '2039', $6 = '2092'
-
( select distinct professor_unidade.ano || '_cb_' || servidor_cargo.id_servidor_cargo_base as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, servidor_cargo.cl as cl, c.nome as professor, ca.descricao as cargo, sf.descricao as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_base as servidor_cargo, true as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, servidor_cargo.matricula_cargo as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_base servidor_cargo inner join professor_unidade_cargo_base professor_unidade on professor_unidade.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join situacao_funcional sf on sf.id_situacao_funcional = servidor_cargo.id_situacao_funcional inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_base jtocb on jtocb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocb.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_base apscb on apscb.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscb.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $1 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $2) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_base) aula_disp_componente on aula_disp_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select trah.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $3) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_base) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tcs.id_servidor_cargo_base, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $4) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tras.id_servidor_cargo_base, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $5) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_base, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base where servidor_cargo.flg_aberto and (professor_unidade.ano = $6) and professor_unidade.id_unidade_funcional = $7 and (c.id_instituicao = $8)) union all ( select professor_unidade.ano || '_cs_' || servidor_cargo.id_servidor_cargo_sobr_alt as id, professor_unidade.ano, null as semestre, s.registro_funcional as rf, null as cl, c.nome as professor, ca.descricao as cargo, 'Sobreposto' as situacao_funcional, coalesce(aps.coluna1 + aps.coluna2, 0) as pontos, jtt.descricao as descricao_jornada_opcao, jtos.horas_atribuidas, null as jex, servidor_cargo.id_servidor_cargo_sobr_alt as servidor_cargo, false as is_servidor_cargo_base, c.id_cidadao, null as id_ano_semestre, s.registro_funcional_numerico as rf_integer, jtt.sigla || ' (' || jtt.carga_horaria || ')' as jornada_opcao, null as matricula, jtt.carga_horaria as carga, case when ato_historico.contador notnull then 'Afastado/ Licença' else 'Ativo' end as situacao_atual, coalesce(aula_disp_componente.aulas, 0) + coalesce(aula_disp_regencia.aulas, 0) as horas_disponibilizadas from servidor_cargo_sobr_alt servidor_cargo inner join professor_unidade_cargo_sobr professor_unidade on professor_unidade.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join servidor s on s.id_cidadao = servidor_cargo.id_cidadao inner join cidadao c on s.id_cidadao = c.id_cidadao inner join cargo ca on ca.id_cargo = servidor_cargo.id_cargo inner join jorn_trabalho_opcao_car_sobr jtocs on jtocs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt inner join jorn_trabalho_opcao_serv jtos on jtos.id_jorn_trabalho_opcao_serv = jtocs.id_jorn_trabalho_opcao_serv and jtos.id_cidadao = c.id_cidadao and jtos.ano = professor_unidade.ano inner join jornada_trabalho_tipo jtt on jtt.id_jornada_trabalho_tipo = jtos.id_jornada_trabalho_tipo left join atrib_pont_serv_cargo_sobr apscs on apscs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt -- VAZIA left join atrib_pontuacao_serv aps on aps.id_atrib_pontuacao_serv = apscs.id_atrib_pontuacao_serv and aps.ano = professor_unidade.ano left join ( select sah.id_servidor_cargo_base, count(sah.id_servidor_cargo_base) as contador from servidor_ato_historico sah inner join ato_historico_tipo aht2 on aht2.id_ato_historico_tipo = sah.id_ato_historico_tipo where aht2.id_categoria_ato_historico = $9 and sah.data_referencia <= now() and (sah.data_fim isnull or sah.data_fim >= now()) group by id_servidor_cargo_base) as ato_historico on ato_historico.id_servidor_cargo_base = servidor_cargo.id_servidor_cargo_base left join lateral ( select tch.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas from turma_componente_historico tch inner join turma_componente tc on tch.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular where tch.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $10) and tc.id_turma_componente_status <> 4 group by tch.id_servidor_cargo_sobr_alt) aula_disp_componente on aula_disp_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select trah.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas from turma_regencia_atrib_hist trah inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = trah.id_turma_regencia_atribuicao where trah.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $11) and tra.id_turma_regencia_atrib_status <> 4 group by trah.id_servidor_cargo_sobr_alt) aula_disp_regencia on aula_disp_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tcs.id_servidor_cargo_sobr_alt, sum(cc.qtd_aulas_semanal) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_componente_servidor tcs inner join turma_componente tc on tcs.id_turma_componente = tc.id_turma_componente inner join componente_curricular cc on cc.id_componente_curricular = tc.id_componente_curricular inner join turma on tc.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tcs.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tc.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $12) and tc.id_turma_componente_status <> 4 group by tcs.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_componente on aula_atrib_componente.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt left join lateral ( select tras.id_servidor_cargo_sobr_alt, sum(tra.aulas_semanal_qtd) as aulas, turma.id_unidade_funcional, ambiente.id_unidade_referencia from turma_regencia_atrib_srv tras inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join turma on tra.id_turma = turma.id_turma inner join ambiente on ambiente.id_ambiente = turma.id_ambiente where tras.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt and tra.id_ano_semestre in ( select id_ano_semestre from ano_semestre where ano = $13) and tra.id_turma_regencia_atrib_status <> 4 group by tras.id_servidor_cargo_sobr_alt, turma.id_unidade_funcional, ambiente.id_unidade_referencia) aula_atrib_regencia on aula_atrib_regencia.id_servidor_cargo_sobr_alt = servidor_cargo.id_servidor_cargo_sobr_alt where servidor_cargo.flg_aberto and (professor_unidade.ano = $14) and professor_unidade.id_unidade_funcional = $15 and (c.id_instituicao = $16)) order by rf_integer, professor, servidor_cargo limit 20;
Date: 2024-12-16 09:09:05 Duration: 695ms Database: postgres parameters: $1 = '0', $2 = '15076916', $3 = '0', $4 = '240004247', $5 = '2007', $6 = '1878'
19 3s462ms 4 554ms 1s173ms 865ms select id_aluno_matricula, chamada, 0 as id_disciplina, data_saida, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, -- todas as faltas anteriores + faltas mensais até esse mês - faltas desse mês (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes) - faltas_mes)::int as faltas_anteriores, -- somente faltas desse mês faltas_mes::int, -- todas faltas anteriores + faltas de todos os meses (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes))::int as faltas_total from ( select a.id_turma, a.id_aluno_matricula, a.chamada, a.data_primeira_saida as data_saida, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(f.data) from falta_aluno_globalizada_diario f inner join registro_falta_global_diario rfgd on rfgd.id_turma = f.id_turma and rfgd.data_referencia = f.data where f.id_aluno_matricula = a.id_aluno_matricula -- as turmas da frequência que sejam do mesmo tipo de enturmação que a turma do diário de classe and f.id_turma in ( select amt.id_turma from aluno_matr_turma amt where amt.id_aluno_matricula = f.id_aluno_matricula and amt.id_tipo_enturmacao in ( select case when t.id_tipo_turma = $1 then case when s.flg_serie_atividade_complementar is true then $2 else $3 end when t.id_tipo_turma = $4 then $5 when t.id_tipo_turma = $6 then $7 end from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie where t.id_turma = a.id_turma --a turma do diário )) and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfgd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_globalizada fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula), 0)::int as faltas_anteriores from aluno_turma_diario_impresso a -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = $8 left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = $9 and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos)) t order by id_aluno_matricula, ano, id_mes;Times Reported Time consuming bind #19
Day Hour Count Duration Avg duration 08 2 1s411ms 705ms 09 1 1s173ms 1s173ms 10 1 878ms 878ms -
select id_aluno_matricula, chamada, 0 as id_disciplina, data_saida, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, -- todas as faltas anteriores + faltas mensais até esse mês - faltas desse mês (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes) - faltas_mes)::int as faltas_anteriores, -- somente faltas desse mês faltas_mes::int, -- todas faltas anteriores + faltas de todos os meses (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes))::int as faltas_total from ( select a.id_turma, a.id_aluno_matricula, a.chamada, a.data_primeira_saida as data_saida, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(f.data) from falta_aluno_globalizada_diario f inner join registro_falta_global_diario rfgd on rfgd.id_turma = f.id_turma and rfgd.data_referencia = f.data where f.id_aluno_matricula = a.id_aluno_matricula -- as turmas da frequência que sejam do mesmo tipo de enturmação que a turma do diário de classe and f.id_turma in ( select amt.id_turma from aluno_matr_turma amt where amt.id_aluno_matricula = f.id_aluno_matricula and amt.id_tipo_enturmacao in ( select case when t.id_tipo_turma = $1 then case when s.flg_serie_atividade_complementar is true then $2 else $3 end when t.id_tipo_turma = $4 then $5 when t.id_tipo_turma = $6 then $7 end from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie where t.id_turma = a.id_turma --a turma do diário )) and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfgd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_globalizada fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula), 0)::int as faltas_anteriores from aluno_turma_diario_impresso a -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = $8 left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = $9 and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos)) t order by id_aluno_matricula, ano, id_mes;
Date: 2024-12-16 10:38:04 Duration: 1s173ms Database: postgres parameters: $1 = '1', $2 = '5', $3 = '1', $4 = '2', $5 = '2', $6 = '3', $7 = '4', $8 = '240002371', $9 = '1280'
-
select id_aluno_matricula, chamada, 0 as id_disciplina, data_saida, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, -- todas as faltas anteriores + faltas mensais até esse mês - faltas desse mês (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes) - faltas_mes)::int as faltas_anteriores, -- somente faltas desse mês faltas_mes::int, -- todas faltas anteriores + faltas de todos os meses (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes))::int as faltas_total from ( select a.id_turma, a.id_aluno_matricula, a.chamada, a.data_primeira_saida as data_saida, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(f.data) from falta_aluno_globalizada_diario f inner join registro_falta_global_diario rfgd on rfgd.id_turma = f.id_turma and rfgd.data_referencia = f.data where f.id_aluno_matricula = a.id_aluno_matricula -- as turmas da frequência que sejam do mesmo tipo de enturmação que a turma do diário de classe and f.id_turma in ( select amt.id_turma from aluno_matr_turma amt where amt.id_aluno_matricula = f.id_aluno_matricula and amt.id_tipo_enturmacao in ( select case when t.id_tipo_turma = $1 then case when s.flg_serie_atividade_complementar is true then $2 else $3 end when t.id_tipo_turma = $4 then $5 when t.id_tipo_turma = $6 then $7 end from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie where t.id_turma = a.id_turma --a turma do diário )) and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfgd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_globalizada fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula), 0)::int as faltas_anteriores from aluno_turma_diario_impresso a -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = $8 left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = $9 and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos)) t order by id_aluno_matricula, ano, id_mes;
Date: 2024-12-16 11:02:35 Duration: 878ms Database: postgres parameters: $1 = '1', $2 = '5', $3 = '1', $4 = '2', $5 = '2', $6 = '3', $7 = '4', $8 = '240001159', $9 = '1227'
-
select id_aluno_matricula, chamada, 0 as id_disciplina, data_saida, flg_dispensado, id_nota_periodo_aluno, ano, id_mes, -- todas as faltas anteriores + faltas mensais até esse mês - faltas desse mês (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes) - faltas_mes)::int as faltas_anteriores, -- somente faltas desse mês faltas_mes::int, -- todas faltas anteriores + faltas de todos os meses (faltas_anteriores + sum(faltas_mes) over (partition by id_aluno_matricula, chamada order by ano, id_mes))::int as faltas_total from ( select a.id_turma, a.id_aluno_matricula, a.chamada, a.data_primeira_saida as data_saida, mdp.id_motivo_dispensa_periodo notnull as flg_dispensado, m.id_nota_periodo_aluno, m.ano, m.id_mes, coalesce(( select count(f.data) from falta_aluno_globalizada_diario f inner join registro_falta_global_diario rfgd on rfgd.id_turma = f.id_turma and rfgd.data_referencia = f.data where f.id_aluno_matricula = a.id_aluno_matricula -- as turmas da frequência que sejam do mesmo tipo de enturmação que a turma do diário de classe and f.id_turma in ( select amt.id_turma from aluno_matr_turma amt where amt.id_aluno_matricula = f.id_aluno_matricula and amt.id_tipo_enturmacao in ( select case when t.id_tipo_turma = $1 then case when s.flg_serie_atividade_complementar is true then $2 else $3 end when t.id_tipo_turma = $4 then $5 when t.id_tipo_turma = $6 then $7 end from turma t inner join turma_serie ts on ts.id_turma = t.id_turma inner join serie s on ts.id_serie = s.id_serie where t.id_turma = a.id_turma --a turma do diário )) and extract(year from f.data) = m.ano and extract(month from f.data) = m.id_mes -- nâo somar falta de período dispensado and mdp.id_motivo_dispensa_periodo isnull and f.data <= coalesce(a.data_remanejamento - 1, a.data_primeira_saida, f.data) and rfgd.flg_concluido is true), 0)::int as faltas_mes, -- cadastro de faltas anteriores - TODAS do ano coalesce(( select sum(coalesce(falta_justificada, 0) + coalesce(falta_nao_justificada, 0)) from falta_anterior_aluno_globalizada fa -- não faz join com turma de propósito por causa de remanejamento! where fa.id_aluno_matricula = a.id_aluno_matricula), 0)::int as faltas_anteriores from aluno_turma_diario_impresso a -- meses do calendário cross join ( select distinct min(tp.id_nota_periodo_aluno) as id_nota_periodo_aluno, extract(year from cpd.data)::int as ano, extract(month from cpd.data)::int as id_mes from calendario_periodo_data cpd inner join calendario_periodo cp on cp.id_calendario = cpd.id_calendario and cp.ordem = cpd.bimestre inner join dia_semana d on d.dia_semana = cpd.dia_semana inner join turma_periodo tp on cpd.bimestre between tp.periodo_calendario_inicio and tp.periodo_calendario_fim and tp.id_turma = $8 left join calendario_data cd on cd.id_calendario = cpd.id_calendario and cd.data = cpd.data where cpd.id_calendario = $9 and cd.id_motivo_dia_nao_letivo isnull and (d.dia_semana between 0 and 4 or cd.id_motivo_dia_letivo_extra notnull) group by extract(year from cpd.data), extract(month from cpd.data)) m -- dispensa de periodo left join aluno_matr_dispensa_periodo amdp on amdp.id_aluno_matricula = a.id_aluno_matricula left join motivo_dispensa_periodo mdp on mdp.id_motivo_dispensa_periodo = amdp.id_motivo_dispensa_periodo and m.id_nota_periodo_aluno = any (mdp.periodos)) t order by id_aluno_matricula, ano, id_mes;
Date: 2024-12-16 09:22:26 Duration: 857ms Database: postgres parameters: $1 = '1', $2 = '5', $3 = '1', $4 = '2', $5 = '2', $6 = '3', $7 = '4', $8 = '240018528', $9 = '20304'
20 3s407ms 3 674ms 2s49ms 1s135ms select matricula, aluno, curso, serie, turma, disciplina as "componenteCurricular", professor, nc1, round(cast(nota1 as numeric), 2) as media1, dispensa1, nc2, round(cast(nota2 as numeric), 2) as media2, dispensa2, nc3, round(cast(nota3 as numeric), 2) as media3, dispensa3, nc4, round(cast(nota4 as numeric), 2) as media4, dispensa4, ncrec, round(cast(nota_rec as numeric), 2) as media_rec, case when notas_lancadas > 0 then arredondar (cast(greatest ((nota_soma / (notas_lancadas * 1.0)), nota_rec) as numeric), id_tipo_arredondamento, 2) else null end as "mediaGeral" from ( select a.codigo as matricula, cid.nome as aluno, c.sigla as curso, s.sigla as serie, t.codigo as turma, d.descricao as disciplina, na1.flg_nao_compareceu as nc1, na1.nota as nota1, dispensa.periodos is not null and dispensa.periodos @> ARRAY[1] dispensa1, na2.flg_nao_compareceu as nc2, na2.nota as nota2, dispensa.periodos is not null and dispensa.periodos @> ARRAY[2] dispensa2, na3.flg_nao_compareceu as nc3, na3.nota as nota3, dispensa.periodos is not null and dispensa.periodos @> ARRAY[3] dispensa3, na4.flg_nao_compareceu as nc4, na4.nota as nota4, dispensa.periodos is not null and dispensa.periodos @> ARRAY[4] dispensa4, narec.flg_nao_compareceu as ncrec, narec.nota as nota_rec, coalesce(na1.nota, 0) + coalesce(na2.nota, 0) + coalesce(na3.nota, 0) + coalesce(na4.nota, 0) as nota_soma, case when na1.flg_nao_compareceu is true or na1.nota is not null then 1 else 0 end + case when na2.flg_nao_compareceu is true or na2.nota is not null then 1 else 0 end + case when na3.flg_nao_compareceu is true or na3.nota is not null then 1 else 0 end + case when na4.flg_nao_compareceu is true or na4.nota is not null then 1 else 0 end as notas_lancadas, (pa.nota_min_aprovacao / 100.0) * s.valor_maximo_nota as nota_min_aprovacao, pa.id_tipo_arredondamento, (coalesce(( select string_agg(cidadao.nome, ', ' order by cidadao.nome) from turma_componente tc inner join turma_componente_servidor tcs on tcs.id_turma_componente = tc.id_turma_componente inner join servidor_cargo_base scb on scb.id_servidor_cargo_base = tcs.id_servidor_cargo_base inner join cidadao on cidadao.id_cidadao = scb.id_cidadao where tc.id_turma = t.id_turma and cc.id_componente_curricular = tc.id_componente_curricular), ( select string_agg(cidadao.nome, ', ' order by cidadao.nome) from turma_regencia_atribuicao tra inner join turma_regencia_atrib_srv tras on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join servidor_cargo_base scb on scb.id_servidor_cargo_base = tras.id_servidor_cargo_base inner join cidadao on cidadao.id_cidadao = scb.id_cidadao where tra.id_turma = t.id_turma))) as professor from aluno a inner join cidadao cid on cid.id_cidadao = a.id_cidadao inner join aluno_matricula am on am.id_cidadao = a.id_cidadao inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma inner join curso c on am.id_curso = c.id_curso inner join turma_serie ts on ts.id_turma = t.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join serie s on ts.id_serie = s.id_serie inner join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao 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 left join aluno_matr_dispensa_disciplina dispensa on dispensa.id_aluno_matricula = am.id_aluno_matricula and dispensa.id_turma = t.id_turma and dispensa.id_disciplina = d.id_disciplina left join nota_aluno na1 on na1.id_aluno_matricula = am.id_aluno_matricula and na1.id_turma = t.id_turma and na1.id_nota_periodo_aluno = 1 and na1.id_disciplina = d.id_disciplina and (dispensa.periodos is null or not dispensa.periodos @> ARRAY[1]) left join nota_aluno na2 on na2.id_aluno_matricula = am.id_aluno_matricula and na2.id_turma = t.id_turma and na2.id_nota_periodo_aluno = 2 and na2.id_disciplina = d.id_disciplina and (dispensa.periodos is null or not dispensa.periodos @> ARRAY[2]) left join nota_aluno na3 on na3.id_aluno_matricula = am.id_aluno_matricula and na3.id_turma = t.id_turma and na3.id_nota_periodo_aluno = 3 and na3.id_disciplina = d.id_disciplina and (dispensa.periodos is null or not dispensa.periodos @> ARRAY[3]) left join nota_aluno na4 on na4.id_aluno_matricula = am.id_aluno_matricula and na4.id_turma = t.id_turma and na4.id_nota_periodo_aluno = 4 and na4.id_disciplina = d.id_disciplina and (dispensa.periodos is null or not dispensa.periodos @> ARRAY[4]) left join nota_aluno narec on narec.id_aluno_matricula = am.id_aluno_matricula and narec.id_turma = t.id_turma and narec.id_nota_periodo_aluno = 6 and narec.id_disciplina = d.id_disciplina where cid.id_instituicao = $1 and asem.ano = $2 and am.id_aluno_matr_status in (1, 2, 7) and am.id_unidade_funcional = $3 and dispensa.flg_dispensado_todos_periodos is not true and cc.id_forma_avaliacao_componente in (1, 2) and c.id_curso = $4) as alunos where notas_lancadas > 0 and arredondar (cast(greatest ((nota_soma / (notas_lancadas * 1.0)), nota_rec) as numeric), id_tipo_arredondamento, 2) < nota_min_aprovacao order by aluno, curso, serie, turma, "componenteCurricular" limit 10 offset 10;Times Reported Time consuming bind #20
Day Hour Count Duration Avg duration 07 2 1s358ms 679ms 08 1 2s49ms 2s49ms -
select matricula, aluno, curso, serie, turma, disciplina as "componenteCurricular", professor, nc1, round(cast(nota1 as numeric), 2) as media1, dispensa1, nc2, round(cast(nota2 as numeric), 2) as media2, dispensa2, nc3, round(cast(nota3 as numeric), 2) as media3, dispensa3, nc4, round(cast(nota4 as numeric), 2) as media4, dispensa4, ncrec, round(cast(nota_rec as numeric), 2) as media_rec, case when notas_lancadas > 0 then arredondar (cast(greatest ((nota_soma / (notas_lancadas * 1.0)), nota_rec) as numeric), id_tipo_arredondamento, 2) else null end as "mediaGeral" from ( select a.codigo as matricula, cid.nome as aluno, c.sigla as curso, s.sigla as serie, t.codigo as turma, d.descricao as disciplina, na1.flg_nao_compareceu as nc1, na1.nota as nota1, dispensa.periodos is not null and dispensa.periodos @> ARRAY[1] dispensa1, na2.flg_nao_compareceu as nc2, na2.nota as nota2, dispensa.periodos is not null and dispensa.periodos @> ARRAY[2] dispensa2, na3.flg_nao_compareceu as nc3, na3.nota as nota3, dispensa.periodos is not null and dispensa.periodos @> ARRAY[3] dispensa3, na4.flg_nao_compareceu as nc4, na4.nota as nota4, dispensa.periodos is not null and dispensa.periodos @> ARRAY[4] dispensa4, narec.flg_nao_compareceu as ncrec, narec.nota as nota_rec, coalesce(na1.nota, 0) + coalesce(na2.nota, 0) + coalesce(na3.nota, 0) + coalesce(na4.nota, 0) as nota_soma, case when na1.flg_nao_compareceu is true or na1.nota is not null then 1 else 0 end + case when na2.flg_nao_compareceu is true or na2.nota is not null then 1 else 0 end + case when na3.flg_nao_compareceu is true or na3.nota is not null then 1 else 0 end + case when na4.flg_nao_compareceu is true or na4.nota is not null then 1 else 0 end as notas_lancadas, (pa.nota_min_aprovacao / 100.0) * s.valor_maximo_nota as nota_min_aprovacao, pa.id_tipo_arredondamento, (coalesce(( select string_agg(cidadao.nome, ', ' order by cidadao.nome) from turma_componente tc inner join turma_componente_servidor tcs on tcs.id_turma_componente = tc.id_turma_componente inner join servidor_cargo_base scb on scb.id_servidor_cargo_base = tcs.id_servidor_cargo_base inner join cidadao on cidadao.id_cidadao = scb.id_cidadao where tc.id_turma = t.id_turma and cc.id_componente_curricular = tc.id_componente_curricular), ( select string_agg(cidadao.nome, ', ' order by cidadao.nome) from turma_regencia_atribuicao tra inner join turma_regencia_atrib_srv tras on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join servidor_cargo_base scb on scb.id_servidor_cargo_base = tras.id_servidor_cargo_base inner join cidadao on cidadao.id_cidadao = scb.id_cidadao where tra.id_turma = t.id_turma))) as professor from aluno a inner join cidadao cid on cid.id_cidadao = a.id_cidadao inner join aluno_matricula am on am.id_cidadao = a.id_cidadao inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma inner join curso c on am.id_curso = c.id_curso inner join turma_serie ts on ts.id_turma = t.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join serie s on ts.id_serie = s.id_serie inner join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao 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 left join aluno_matr_dispensa_disciplina dispensa on dispensa.id_aluno_matricula = am.id_aluno_matricula and dispensa.id_turma = t.id_turma and dispensa.id_disciplina = d.id_disciplina left join nota_aluno na1 on na1.id_aluno_matricula = am.id_aluno_matricula and na1.id_turma = t.id_turma and na1.id_nota_periodo_aluno = 1 and na1.id_disciplina = d.id_disciplina and (dispensa.periodos is null or not dispensa.periodos @> ARRAY[1]) left join nota_aluno na2 on na2.id_aluno_matricula = am.id_aluno_matricula and na2.id_turma = t.id_turma and na2.id_nota_periodo_aluno = 2 and na2.id_disciplina = d.id_disciplina and (dispensa.periodos is null or not dispensa.periodos @> ARRAY[2]) left join nota_aluno na3 on na3.id_aluno_matricula = am.id_aluno_matricula and na3.id_turma = t.id_turma and na3.id_nota_periodo_aluno = 3 and na3.id_disciplina = d.id_disciplina and (dispensa.periodos is null or not dispensa.periodos @> ARRAY[3]) left join nota_aluno na4 on na4.id_aluno_matricula = am.id_aluno_matricula and na4.id_turma = t.id_turma and na4.id_nota_periodo_aluno = 4 and na4.id_disciplina = d.id_disciplina and (dispensa.periodos is null or not dispensa.periodos @> ARRAY[4]) left join nota_aluno narec on narec.id_aluno_matricula = am.id_aluno_matricula and narec.id_turma = t.id_turma and narec.id_nota_periodo_aluno = 6 and narec.id_disciplina = d.id_disciplina where cid.id_instituicao = $1 and asem.ano = $2 and am.id_aluno_matr_status in (1, 2, 7) and am.id_unidade_funcional = $3 and dispensa.flg_dispensado_todos_periodos is not true and cc.id_forma_avaliacao_componente in (1, 2) and c.id_curso = $4) as alunos where notas_lancadas > 0 and arredondar (cast(greatest ((nota_soma / (notas_lancadas * 1.0)), nota_rec) as numeric), id_tipo_arredondamento, 2) < nota_min_aprovacao order by aluno, curso, serie, turma, "componenteCurricular" limit 10 offset 10;
Date: 2024-12-16 09:57:39 Duration: 2s49ms Database: postgres parameters: $1 = '72', $2 = '2024', $3 = '605747', $4 = '854'
-
select matricula, aluno, curso, serie, turma, disciplina as "componenteCurricular", professor, nc1, round(cast(nota1 as numeric), 2) as media1, dispensa1, nc2, round(cast(nota2 as numeric), 2) as media2, dispensa2, nc3, round(cast(nota3 as numeric), 2) as media3, dispensa3, nc4, round(cast(nota4 as numeric), 2) as media4, dispensa4, ncrec, round(cast(nota_rec as numeric), 2) as media_rec, case when notas_lancadas > 0 then arredondar (cast(greatest ((nota_soma / (notas_lancadas * 1.0)), nota_rec) as numeric), id_tipo_arredondamento, 2) else null end as "mediaGeral" from ( select a.codigo as matricula, cid.nome as aluno, c.sigla as curso, s.sigla as serie, t.codigo as turma, d.descricao as disciplina, na1.flg_nao_compareceu as nc1, na1.nota as nota1, dispensa.periodos is not null and dispensa.periodos @> ARRAY[1] dispensa1, na2.flg_nao_compareceu as nc2, na2.nota as nota2, dispensa.periodos is not null and dispensa.periodos @> ARRAY[2] dispensa2, na3.flg_nao_compareceu as nc3, na3.nota as nota3, dispensa.periodos is not null and dispensa.periodos @> ARRAY[3] dispensa3, na4.flg_nao_compareceu as nc4, na4.nota as nota4, dispensa.periodos is not null and dispensa.periodos @> ARRAY[4] dispensa4, narec.flg_nao_compareceu as ncrec, narec.nota as nota_rec, coalesce(na1.nota, 0) + coalesce(na2.nota, 0) + coalesce(na3.nota, 0) + coalesce(na4.nota, 0) as nota_soma, case when na1.flg_nao_compareceu is true or na1.nota is not null then 1 else 0 end + case when na2.flg_nao_compareceu is true or na2.nota is not null then 1 else 0 end + case when na3.flg_nao_compareceu is true or na3.nota is not null then 1 else 0 end + case when na4.flg_nao_compareceu is true or na4.nota is not null then 1 else 0 end as notas_lancadas, (pa.nota_min_aprovacao / 100.0) * s.valor_maximo_nota as nota_min_aprovacao, pa.id_tipo_arredondamento, (coalesce(( select string_agg(cidadao.nome, ', ' order by cidadao.nome) from turma_componente tc inner join turma_componente_servidor tcs on tcs.id_turma_componente = tc.id_turma_componente inner join servidor_cargo_base scb on scb.id_servidor_cargo_base = tcs.id_servidor_cargo_base inner join cidadao on cidadao.id_cidadao = scb.id_cidadao where tc.id_turma = t.id_turma and cc.id_componente_curricular = tc.id_componente_curricular), ( select string_agg(cidadao.nome, ', ' order by cidadao.nome) from turma_regencia_atribuicao tra inner join turma_regencia_atrib_srv tras on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join servidor_cargo_base scb on scb.id_servidor_cargo_base = tras.id_servidor_cargo_base inner join cidadao on cidadao.id_cidadao = scb.id_cidadao where tra.id_turma = t.id_turma))) as professor from aluno a inner join cidadao cid on cid.id_cidadao = a.id_cidadao inner join aluno_matricula am on am.id_cidadao = a.id_cidadao inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma inner join curso c on am.id_curso = c.id_curso inner join turma_serie ts on ts.id_turma = t.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join serie s on ts.id_serie = s.id_serie inner join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao 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 left join aluno_matr_dispensa_disciplina dispensa on dispensa.id_aluno_matricula = am.id_aluno_matricula and dispensa.id_turma = t.id_turma and dispensa.id_disciplina = d.id_disciplina left join nota_aluno na1 on na1.id_aluno_matricula = am.id_aluno_matricula and na1.id_turma = t.id_turma and na1.id_nota_periodo_aluno = 1 and na1.id_disciplina = d.id_disciplina and (dispensa.periodos is null or not dispensa.periodos @> ARRAY[1]) left join nota_aluno na2 on na2.id_aluno_matricula = am.id_aluno_matricula and na2.id_turma = t.id_turma and na2.id_nota_periodo_aluno = 2 and na2.id_disciplina = d.id_disciplina and (dispensa.periodos is null or not dispensa.periodos @> ARRAY[2]) left join nota_aluno na3 on na3.id_aluno_matricula = am.id_aluno_matricula and na3.id_turma = t.id_turma and na3.id_nota_periodo_aluno = 3 and na3.id_disciplina = d.id_disciplina and (dispensa.periodos is null or not dispensa.periodos @> ARRAY[3]) left join nota_aluno na4 on na4.id_aluno_matricula = am.id_aluno_matricula and na4.id_turma = t.id_turma and na4.id_nota_periodo_aluno = 4 and na4.id_disciplina = d.id_disciplina and (dispensa.periodos is null or not dispensa.periodos @> ARRAY[4]) left join nota_aluno narec on narec.id_aluno_matricula = am.id_aluno_matricula and narec.id_turma = t.id_turma and narec.id_nota_periodo_aluno = 6 and narec.id_disciplina = d.id_disciplina where cid.id_instituicao = $1 and asem.ano = $2 and am.id_aluno_matr_status in (1, 2, 7) and am.id_unidade_funcional = $3 and dispensa.flg_dispensado_todos_periodos is not true and cc.id_forma_avaliacao_componente in (1, 2) and c.id_curso = $4) as alunos where notas_lancadas > 0 and arredondar (cast(greatest ((nota_soma / (notas_lancadas * 1.0)), nota_rec) as numeric), id_tipo_arredondamento, 2) < nota_min_aprovacao order by aluno, curso, serie, turma, "componenteCurricular" limit 10 offset 10;
Date: 2024-12-16 08:50:11 Duration: 683ms Database: postgres parameters: $1 = '98', $2 = '2024', $3 = '607143', $4 = '1041'
-
select matricula, aluno, curso, serie, turma, disciplina as "componenteCurricular", professor, nc1, round(cast(nota1 as numeric), 2) as media1, dispensa1, nc2, round(cast(nota2 as numeric), 2) as media2, dispensa2, nc3, round(cast(nota3 as numeric), 2) as media3, dispensa3, nc4, round(cast(nota4 as numeric), 2) as media4, dispensa4, ncrec, round(cast(nota_rec as numeric), 2) as media_rec, case when notas_lancadas > 0 then arredondar (cast(greatest ((nota_soma / (notas_lancadas * 1.0)), nota_rec) as numeric), id_tipo_arredondamento, 2) else null end as "mediaGeral" from ( select a.codigo as matricula, cid.nome as aluno, c.sigla as curso, s.sigla as serie, t.codigo as turma, d.descricao as disciplina, na1.flg_nao_compareceu as nc1, na1.nota as nota1, dispensa.periodos is not null and dispensa.periodos @> ARRAY[1] dispensa1, na2.flg_nao_compareceu as nc2, na2.nota as nota2, dispensa.periodos is not null and dispensa.periodos @> ARRAY[2] dispensa2, na3.flg_nao_compareceu as nc3, na3.nota as nota3, dispensa.periodos is not null and dispensa.periodos @> ARRAY[3] dispensa3, na4.flg_nao_compareceu as nc4, na4.nota as nota4, dispensa.periodos is not null and dispensa.periodos @> ARRAY[4] dispensa4, narec.flg_nao_compareceu as ncrec, narec.nota as nota_rec, coalesce(na1.nota, 0) + coalesce(na2.nota, 0) + coalesce(na3.nota, 0) + coalesce(na4.nota, 0) as nota_soma, case when na1.flg_nao_compareceu is true or na1.nota is not null then 1 else 0 end + case when na2.flg_nao_compareceu is true or na2.nota is not null then 1 else 0 end + case when na3.flg_nao_compareceu is true or na3.nota is not null then 1 else 0 end + case when na4.flg_nao_compareceu is true or na4.nota is not null then 1 else 0 end as notas_lancadas, (pa.nota_min_aprovacao / 100.0) * s.valor_maximo_nota as nota_min_aprovacao, pa.id_tipo_arredondamento, (coalesce(( select string_agg(cidadao.nome, ', ' order by cidadao.nome) from turma_componente tc inner join turma_componente_servidor tcs on tcs.id_turma_componente = tc.id_turma_componente inner join servidor_cargo_base scb on scb.id_servidor_cargo_base = tcs.id_servidor_cargo_base inner join cidadao on cidadao.id_cidadao = scb.id_cidadao where tc.id_turma = t.id_turma and cc.id_componente_curricular = tc.id_componente_curricular), ( select string_agg(cidadao.nome, ', ' order by cidadao.nome) from turma_regencia_atribuicao tra inner join turma_regencia_atrib_srv tras on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao inner join servidor_cargo_base scb on scb.id_servidor_cargo_base = tras.id_servidor_cargo_base inner join cidadao on cidadao.id_cidadao = scb.id_cidadao where tra.id_turma = t.id_turma))) as professor from aluno a inner join cidadao cid on cid.id_cidadao = a.id_cidadao inner join aluno_matricula am on am.id_cidadao = a.id_cidadao inner join ano_semestre asem on asem.id_ano_semestre = am.id_ano_semestre inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula inner join turma t on t.id_turma = amt.id_turma inner join curso c on am.id_curso = c.id_curso inner join turma_serie ts on ts.id_turma = t.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join serie s on ts.id_serie = s.id_serie inner join procedimento_avaliacao pa on pa.id_procedimento_avaliacao = s.id_procedimento_avaliacao 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 left join aluno_matr_dispensa_disciplina dispensa on dispensa.id_aluno_matricula = am.id_aluno_matricula and dispensa.id_turma = t.id_turma and dispensa.id_disciplina = d.id_disciplina left join nota_aluno na1 on na1.id_aluno_matricula = am.id_aluno_matricula and na1.id_turma = t.id_turma and na1.id_nota_periodo_aluno = 1 and na1.id_disciplina = d.id_disciplina and (dispensa.periodos is null or not dispensa.periodos @> ARRAY[1]) left join nota_aluno na2 on na2.id_aluno_matricula = am.id_aluno_matricula and na2.id_turma = t.id_turma and na2.id_nota_periodo_aluno = 2 and na2.id_disciplina = d.id_disciplina and (dispensa.periodos is null or not dispensa.periodos @> ARRAY[2]) left join nota_aluno na3 on na3.id_aluno_matricula = am.id_aluno_matricula and na3.id_turma = t.id_turma and na3.id_nota_periodo_aluno = 3 and na3.id_disciplina = d.id_disciplina and (dispensa.periodos is null or not dispensa.periodos @> ARRAY[3]) left join nota_aluno na4 on na4.id_aluno_matricula = am.id_aluno_matricula and na4.id_turma = t.id_turma and na4.id_nota_periodo_aluno = 4 and na4.id_disciplina = d.id_disciplina and (dispensa.periodos is null or not dispensa.periodos @> ARRAY[4]) left join nota_aluno narec on narec.id_aluno_matricula = am.id_aluno_matricula and narec.id_turma = t.id_turma and narec.id_nota_periodo_aluno = 6 and narec.id_disciplina = d.id_disciplina where cid.id_instituicao = $1 and asem.ano = $2 and am.id_aluno_matr_status in (1, 2, 7) and am.id_unidade_funcional = $3 and dispensa.flg_dispensado_todos_periodos is not true and cc.id_forma_avaliacao_componente in (1, 2) and c.id_curso = $4) as alunos where notas_lancadas > 0 and arredondar (cast(greatest ((nota_soma / (notas_lancadas * 1.0)), nota_rec) as numeric), id_tipo_arredondamento, 2) < nota_min_aprovacao order by aluno, curso, serie, turma, "componenteCurricular" limit 10 offset 10;
Date: 2024-12-16 08:50:14 Duration: 674ms Database: postgres parameters: $1 = '98', $2 = '2024', $3 = '607143', $4 = '1041'
-
Events
Log levels
Key values
- 101,273 Log entries
Events distribution
Key values
- 0 PANIC entries
- 1897 FATAL entries
- 2339 ERROR entries
- 0 WARNING entries
Most Frequent Errors/Events
Key values
- 1,880 Max number of times the same event was reported
- 4,236 Total events found
Rank Times reported Error 1 1,880 FATAL: remaining connection slots are reserved for non-replication superuser connections
Times Reported Most Frequent Error / Event #1
Day Hour Count Dec 16 10 1,880 - FATAL: remaining connection slots are reserved for non-replication superuser connections
Date: 2024-12-16 10:33:40
2 1,210 ERROR: remaining connection slots are reserved for non-replication superuser connections
Times Reported Most Frequent Error / Event #2
Day Hour Count Dec 16 10 1,210 - ERROR: remaining connection slots are reserved for non-replication superuser connections
Context: parallel worker
Statement: select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = $1 left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = $2 left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = $3 where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = $4 and ts.id_serie = $5 and cc.id_disciplina = $6 order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_paiDate: 2024-12-16 10:33:41
3 452 ERROR: could not map dynamic shared memory segment
Times Reported Most Frequent Error / Event #3
Day Hour Count Dec 16 10 452 - ERROR: could not map dynamic shared memory segment
Date: 2024-12-16 10:33:55
4 374 ERROR: insert or update on table "..." violates foreign key constraint "..."
Times Reported Most Frequent Error / Event #4
Day Hour Count Dec 16 10 361 11 13 - ERROR: insert or update on table "conteudo_organizado_aula" violates foreign key constraint "fk_situacao_didatica_aula"
- ERROR: insert or update on table "usuario_instituicao" violates foreign key constraint "fk_usuario"
Detail: Key (id_situacao_didatica_aula)=(18497752) is not present in table "situacao_didatica_aula".
Statement: insert into conteudo_organizado_aula (id_situacao_didatica_aula) values ($1)Date: 2024-12-16 10:33:58
Detail: Key (id_usuario)=(234494) is not present in table "usuario".
Statement: insert into usuario_instituicao (id_usuario, flg_email, id_instituicao) values ($1, $2, $3)Date: 2024-12-16 11:25:03
5 224 ERROR: canceling statement due to statement timeout
Times Reported Most Frequent Error / Event #5
Day Hour Count Dec 16 02 1 08 67 09 39 10 99 11 18 - ERROR: canceling statement due to statement timeout
Statement: select coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina) as id_disciplina, falta.id_nota_periodo_aluno, sum(falta.qtd_faltas)::int as falta from falta_aluno_disciplina falta inner join turma_disciplina td on td.id_disciplina = falta.id_disciplina inner join componente_curricular cc on cc.id_grade_curricular = td.id_grade_curricular and cc.id_disciplina = falta.id_disciplina where falta.id_aluno_matricula = $1 and td.id_turma = $2 and td.id_grade_curricular = $3 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 = falta.id_aluno_matricula and mdp.periodos @> array[falta.id_nota_periodo_aluno] ) and not exists ( select * from aluno_matr_dispensa_disciplina amdd where amdd.id_aluno_matricula = falta.id_aluno_matricula and amdd.id_disciplina = falta.id_disciplina and (amdd.flg_dispensado_todos_periodos or amdd.periodos @> array[falta.id_nota_periodo_aluno]) )group by coalesce(cc.id_componente_cedeu_carga_horaria, cc.id_disciplina), falta.id_nota_periodo_aluno
Date: 2024-12-16 02:17:36
6 35 ERROR: duplicate key value violates unique constraint "..."
Times Reported Most Frequent Error / Event #6
Day Hour Count Dec 16 01 1 07 3 08 10 09 13 10 8 - ERROR: duplicate key value violates unique constraint "pk_bolsa_escola_remessa_aluno"
- ERROR: duplicate key value violates unique constraint "iu_diario_classe_digital"
- ERROR: duplicate key value violates unique constraint "iu_situacao_didatica_aula_horario_comp"
Detail: Key (id_bolsa_escola_remessa_resp, id_aluno)=(57131096, 1368395) already exists.
Statement: insert into bolsa_escola_remessa_aluno (id_aluno, id_bolsa_escola_remessa_resp) values ($1, $2)Date: 2024-12-16 01:07:21
Detail: Key (id_diario_classe_digital_tipo, id_turma, id_serie, COALESCE(id_componente_curricular, 0), COALESCE(id_aluno_matricula, 0), COALESCE(id_nota_periodo_aluno, 0))=(3, 240009906, 1913, 31231, 0, 0) already exists.
Statement: insert into diario_classe_digital (id_turma, ano, id_processo_agenda_status, id_serie, id_curso, id_componente_curricular, data_geracao, id_diario_classe_digital_tipo) values ($1, $2, $3, $4, $5, $6, $7, $8)Date: 2024-12-16 07:40:46
Detail: Key (id_turma, id_serie, data, id_horario_turma, id_componente_curricular)=(240019851, 2447, 2024-12-16, 6, 45281) already exists.
Statement: insert into situacao_didatica_aula (data_atualizacao, id_turma, id_serie, data, id_horario_turma, id_componente_curricular) values ($1, $2, $3, $4, $5, $6)Date: 2024-12-16 07:56:43
7 19 ERROR: could not attach to dynamic shared area
Times Reported Most Frequent Error / Event #7
Day Hour Count Dec 16 10 19 - ERROR: could not attach to dynamic shared area
Statement: select cmc.id_conteudo_matriz_conteudo, pai.id_conteudo_matriz_conteudo as id_conteudo_matriz_conteudo_pai, cmc.id_conteudo_curricular, cmc.id_nota_periodo_aluno, c.id_tipo_conteudo_curricular, tipo.descricao as tipo, ec.flg_apontamento, cmc.ordem, c.descricao, d.descricao as disciplina, coc.id_conteudo_organizado_aula, coc.id_conteudo_organizado_aula notnull as flg_ministrado, poc.id_planejamento_bimestral_organizado, poc.id_planejamento_bimestral_organizado notnull as flg_planejado, pac.id_plano_aula, pac.id_plano_aula notnull as flg_plano_aula from organizacao_grade_curricular ogc inner join organizador_curricular o on o.id_organizador_curricular = ogc.id_organizador_curricular inner join turma_serie ts on ts.id_grade_curricular = ogc.id_grade_curricular inner join turma t on t.id_turma = ts.id_turma inner join matriz_conteudo_curricular mc on mc.id_organizacao_grade_curricular = ogc.id_organizacao_grade_curricular and mc.flg_ativo inner join conteudo_matriz_conteudo cmc on cmc.id_matriz_conteudo_curricular = mc.id_matriz_conteudo_curricular and cmc.flg_ativo inner join conteudo_curricular c on c.id_conteudo_curricular = cmc.id_conteudo_curricular inner join estrutura_curricular ec on ec.id_tipo_conteudo_curricular = c.id_tipo_conteudo_curricular and ec.id_organizador_curricular = o.id_organizador_curricular and not ec.flg_somente_exibicao inner join tipo_conteudo_curricular tipo on tipo.id_tipo_conteudo_curricular = ec.id_tipo_conteudo_curricular inner join ano_semestre ano_turma on ano_turma.id_ano_semestre = t.id_ano_semestre inner join ano_semestre org_inicio on org_inicio.id_ano_semestre = ogc.id_ano_semestre_inicio left join ano_semestre org_fim on org_fim.id_ano_semestre = ogc.id_ano_semestre_termino left join componente_curricular cc on cc.id_componente_curricular = ogc.id_componente_curricular left join disciplina d on d.id_disciplina = cc.id_disciplina left join conteudo_matriz_conteudo pai on pai.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo_pai left join planejamento_organizado_conteudo poc on poc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and poc.id_planejamento_bimestral_organizado = $1 left join conteudo_organizado_aula_conteudo coc on coc.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and coc.id_conteudo_organizado_aula = $2 left join plano_aula_conteudo pac on pac.id_conteudo_matriz_conteudo = cmc.id_conteudo_matriz_conteudo and pac.id_plano_aula = $3 where ano_turma.ano between org_inicio.ano and coalesce(org_fim.ano, ano_turma.ano) and ts.id_turma = $4 and ts.id_serie = $5 and cc.id_disciplina = $6 order by d.descricao, ec.nivel, cmc.ordem, pai.id_conteudo_matriz_conteudo_pai
Date: 2024-12-16 10:34:21
8 16 FATAL: terminating connection due to administrator command
Times Reported Most Frequent Error / Event #8
Day Hour Count Dec 16 08 4 09 1 10 9 11 2 - FATAL: terminating connection due to administrator command
Statement: select a.codigo as matricula, am.id_aluno_matricula as aluno_matricula, c.nome, c.nascimento_data, ase.ano || coalesce('/' || CAST(ase.semestre AS VARCHAR), '') as ano_semestre, curso.sigla as sigla_curso, serie.sigla as sigla_serie, t.codigo as codigo_turma, ams.descricao as situacao, t.id_turma, case when exists ( select null from apontamento_avaliacao_desc apontamento where apontamento.id_aluno_matricula = am.id_aluno_matricula and apontamento.id_turma = t.id_turma ) then true else false end as avaliacao_desc, case when exists ( select null from apontamento_ficha_acompanhamento apontamento where apontamento.id_aluno_matricula = am.id_aluno_matricula and apontamento.id_turma = t.id_turma ) then true else false end as ficha_acomp from aluno_matricula am inner join ano_semestre ase on ase.id_ano_semestre = am.id_ano_semestre inner join cidadao c on am.id_cidadao = c.id_cidadao inner join aluno a on a.id_cidadao = c.id_cidadao inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso inner join turma t ON t.id_turma = amt.id_turma inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where t.id_unidade_funcional = $1 and c.id_instituicao = $2 and exists( select apontamento.id_aluno_matricula from apontamento_avaliacao_desc apontamento where apontamento.id_aluno_matricula = am.id_aluno_matricula and apontamento.id_turma = t.id_turma ) and ase.ano = $3 union select a.codigo as matricula, am.id_aluno_matricula as aluno_matricula, c.nome, c.nascimento_data, ase.ano || coalesce('/' || CAST(ase.semestre AS VARCHAR), '') as ano_semestre, curso.sigla as sigla_curso, serie.sigla as sigla_serie, t.codigo as codigo_turma, ams.descricao as situacao, t.id_turma, case when exists ( select null from apontamento_avaliacao_desc apontamento where apontamento.id_aluno_matricula = am.id_aluno_matricula and apontamento.id_turma = t.id_turma ) then true else false end as avaliacao_desc, case when exists ( select null from apontamento_ficha_acompanhamento apontamento where apontamento.id_aluno_matricula = am.id_aluno_matricula and apontamento.id_turma = t.id_turma ) then true else false end as ficha_acomp from aluno_matricula am inner join ano_semestre ase on ase.id_ano_semestre = am.id_ano_semestre inner join cidadao c on am.id_cidadao = c.id_cidadao inner join aluno a on a.id_cidadao = c.id_cidadao inner join aluno_matr_turma amt on amt.id_aluno_matricula = am.id_aluno_matricula inner join turma t ON t.id_turma = amt.id_turma and t.flg_especial is false inner join turma_serie ts on ts.id_turma = amt.id_turma and ts.id_serie = amt.id_serie_enturmacao inner join serie on serie.id_serie = ts.id_serie inner join curso on curso.id_curso = serie.id_curso inner join aluno_matr_status ams on ams.id_aluno_matr_status = am.id_aluno_matr_status where t.id_unidade_funcional = $4 and c.id_instituicao = $5 and exists( select apontamento.id_aluno_matricula from apontamento_ficha_acompanhamento apontamento where apontamento.id_aluno_matricula = am.id_aluno_matricula and apontamento.id_turma = t.id_turma ) and ase.ano = $6 order by matricula
Date: 2024-12-16 08:32:52
9 9 ERROR: new row for relation "..." violates check constraint "..."
Times Reported Most Frequent Error / Event #9
Day Hour Count Dec 16 09 9 - ERROR: new row for relation "planejamento_matricula_vaga_localizacao" violates check constraint "ck_continuidade"
Detail: Failing row contains (607792, 607792, 2457, 519, 2025, 15, 3, 0, 3, 18, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0).
Statement: update planejamento_matricula_vaga_localizacao set renovacao = coalesce(pm.renovacao, 0), continuidade = coalesce(pm.continuidade, 0), recepcao = coalesce(pm.recepcao, 0), transferidos = coalesce(pm.transferidos, 0), remanescente = coalesce(pm.remanescente, 0), remanescente_disponiblizada = coalesce(pm.saldo_vagas_disp_novato, 0), novato = planejamento_matricula_vaga_localizacao.continuidade_disponiblizada + planejamento_matricula_vaga_localizacao.recepcao_disponiblizada + planejamento_matricula_vaga_localizacao.transferidos_disponiblizada + coalesce(pm.saldo_vagas_disp_novato, 0) from ( select sum(pm.renovacao) as renovacao, sum(pm.continuidade) as continuidade, sum(pm.recepcao) as recepcao, sum(pm.transferidos) as transferidos, sum(pm.vagas_remanescentes) as remanescente, sum(case pm.flg_disponibilizar_saldo_vagas_novato when true then pm.vagas_remanescentes else 0 end) as saldo_vagas_disp_novato from planejamento_matricula pm inner join ambiente on ambiente.id_ambiente = pm.id_ambiente where pm.id_unidade_funcional = $1 and ambiente.id_unidade_referencia = $2 and pm.id_serie = $3 and pm.id_turno = $4 and pm.ano = $5 ) as pm where planejamento_matricula_vaga_localizacao.id_escola = $6 and planejamento_matricula_vaga_localizacao.id_unidade_referencia = $7 and planejamento_matricula_vaga_localizacao.id_serie = $8 and planejamento_matricula_vaga_localizacao.id_turno = $9 and planejamento_matricula_vaga_localizacao.ano = $10Date: 2024-12-16 09:52:23
10 3 ERROR: update or delete on table "..." violates foreign key constraint "..." on table "..."
Times Reported Most Frequent Error / Event #10
Day Hour Count Dec 16 10 3 - ERROR: update or delete on table "pre_matricula_pergunta" violates foreign key constraint "fk_pre_matricula_pergunta" on table "pre_matricula_pergunta_resposta"
Detail: Key (id_pre_matricula_pergunta)=(104) is still referenced from table "pre_matricula_pergunta_resposta".
Statement: delete from pre_matricula_pergunta where id_pre_matricula_pergunta = $1Date: 2024-12-16 10:42:57
11 3 LOG: could not receive data from client: Conexão fechada pela outra ponta
Times Reported Most Frequent Error / Event #11
Day Hour Count Dec 16 08 3 - LOG: could not receive data from client: Conexão fechada pela outra ponta
Date: 2024-12-16 08:37:16
12 3 ERROR: syntax error at or near "..."
Times Reported Most Frequent Error / Event #12
Day Hour Count Dec 16 08 1 09 1 10 1 - ERROR: syntax error at or near "grup" at character 79
- ERROR: syntax error at or near "]" at character 1
Statement: select application_name, count(*) from pg_stat_activity where state <> 'idle' grup by application_name order by application_name;
Date: 2024-12-16 08:08:58
Statement: ] select application_name, state, count(*) from pg_stat_activity group by application_name, state order by count(*) desc, application_name;
Date: 2024-12-16 09:55:26
13 3 ERROR: more than one row returned by a subquery used as an expression
Times Reported Most Frequent Error / Event #13
Day Hour Count Dec 16 08 3 - ERROR: more than one row returned by a subquery used as an expression
Statement: select coalesce(( select cidadao.nome from cidadao inner join turma_componente_servidor tcs on tcs.id_cidadao = cidadao.id_cidadao inner join turma_componente tc on tc.id_turma_componente = tcs.id_turma_componente where tc.id_turma = $1 and tc.id_componente_curricular = $2 ), ( select string_agg(cidadao.nome, ', ' order by cidadao.nome) from cidadao inner join turma_regencia_atrib_srv tras on tras.id_cidadao = cidadao.id_cidadao inner join turma_regencia_atribuicao tra on tra.id_turma_regencia_atribuicao = tras.id_turma_regencia_atribuicao where tra.id_turma = $3 ))
Date: 2024-12-16 08:44:21
14 1 ERROR: null value in column "..." of relation "..." violates not-null constraint
Times Reported Most Frequent Error / Event #14
Day Hour Count Dec 16 01 1 - ERROR: null value in column "flg_sexo_masculino" of relation "consulta_situacao_nutricional" violates not-null constraint
Detail: Failing row contains (3, 606849, 33026610, E. M. Mario Buscema, 2022, 1806282, JOSÉ FERNANDO BORGES SILVA JUNIOR, null, 2017-04-30, 2022-09-15, 5 years 4 mons 15 days, 18.25, 115.00, null, null, null, null, null, null, null).
Statement: insert into acompanhamento.consulta_situacao_nutricional ( id_programa_acompanhamento, id_unidade_funcional, codigo_escola, nome_escola, ano, id_cidadao, nome, flg_sexo_masculino, nascimento_data, data_acompanhamento, idade, peso, altura, id_status_altura_idade_acompanhamento, id_percentil_altura_idade, id_status_peso_idade_acompanhamento, id_percentil_peso_idade, id_status_peso_altura_acompanhamento, id_percentil_peso_altura, id_status_classificacao_geral ) select r.id_programa_acompanhamento, u.id_unidade_funcional, u.codigo, u.nome, a.ano, c.id_cidadao, c.nome, upper(c.sexo) = 'M' as flg_sexo_masculino, c.nascimento_data::date as nascimento_data, r.data_acompanhamento, idade, r.peso, r.altura, altura.id_status_altura_idade_acompanhamento, altura.id_percentil, peso.id_status_peso_idade_acompanhamento, peso.id_percentil, x.id_status_peso_altura_acompanhamento, x.id_percentil, g.id_status_classificacao_geral from aluno_matricula am inner join cidadao c on c.id_cidadao = am.id_cidadao inner join unidade_funcional u on u.id_unidade_funcional = am.id_unidade_funcional inner join ano_semestre a on a.id_ano_semestre = am.id_ano_semestre inner join acompanhamento.registro_acompanhamento r on r.id_cidadao = c.id_cidadao and r.id_tipo_acompanhamento = 1 and r.flg_ultimo_ano and extract(year from r.data_acompanhamento) = a.ano cross join age(r.data_acompanhamento, c.nascimento_data) as idade cross join acompanhamento.get_status_altura_idade(idade, upper(c.sexo) = 'M', r.altura) as altura cross join acompanhamento.get_status_peso_idade(idade, upper(c.sexo) = 'M', r.peso) as peso cross join acompanhamento.get_status_peso_altura(idade, upper(c.sexo) = 'M', r.altura, r.peso) as x cross join acompanhamento.get_status_classificacao_geral(idade, upper(c.sexo) = 'M', r.altura, r.peso) as g where am.id_aluno_matr_status in (1,2,7)Date: 2024-12-16 01:12:35
15 1 LOG: parameter "..." changed to "..."
Times Reported Most Frequent Error / Event #15
Day Hour Count Dec 16 09 1 - LOG: parameter "effective_cache_size" changed to "72GB"
Date: 2024-12-16 09:11:09
16 1 FATAL: connection to client lost
Times Reported Most Frequent Error / Event #16
Day Hour Count Dec 16 10 1 - FATAL: connection to client lost
Statement: select * from fila_trabalho.fila_trabalho_2024_12 fila where nome_fila = 'diarioclassemovel' and id_situacao_trabalho = 3;
Date: 2024-12-16 10:54:03
17 1 LOG: could not send data to client: Pipe quebrado
Times Reported Most Frequent Error / Event #17
Day Hour Count Dec 16 10 1 - LOG: could not send data to client: Pipe quebrado
Statement: select * from fila_trabalho.fila_trabalho_2024_12 fila where nome_fila = 'diarioclassemovel' and id_situacao_trabalho = 3;
Date: 2024-12-16 10:54:03
18 1 ERROR: column "..." must appear in the GROUP BY clause or be used in an aggregate function
Times Reported Most Frequent Error / Event #18
Day Hour Count Dec 16 08 1 - ERROR: column "pg_stat_activity.application_name" must appear in the GROUP BY clause or be used in an aggregate function at character 8
Statement: select application_name, count(*) from pg_stat_activity where state <> 'idle';
Date: 2024-12-16 08:08:49