-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #221 from prefeiturasp/story/59988-dev
story/59988-master-api
- Loading branch information
Showing
53 changed files
with
1,484 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
CREATE TABLE if not exists public.turma_aluno_historico ( | ||
id int8 NOT NULL GENERATED ALWAYS AS IDENTITY, | ||
turma_id int8 NOT NULL, | ||
ano_letivo int4 NOT NULL, | ||
aluno_id int8 NOT NULL, | ||
criado_em timestamptz NOT NULL, | ||
atualizado_em timestamptz NOT NULL, | ||
data_matricula timestamp NULL, | ||
data_situacao timestamp NULL, | ||
CONSTRAINT turma_aluno_historico_pk PRIMARY KEY (id), | ||
CONSTRAINT turma_aluno_historico_aluno_id_fk FOREIGN KEY (aluno_id) REFERENCES public.aluno(id), | ||
CONSTRAINT turma_aluno_historico_turma_id_fk FOREIGN KEY (turma_id) REFERENCES public.turma (id) | ||
); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
CREATE OR REPLACE VIEW public.v_turmas_alunos | ||
AS SELECT DISTINCT t.id AS turma_id, | ||
a.id AS aluno_id, | ||
t.ano, | ||
t.ano_letivo, | ||
t.modalidade_codigo | ||
FROM aluno a | ||
JOIN turma t ON a.turma_id = t.id | ||
UNION | ||
SELECT DISTINCT max(t.id) AS turma_id, | ||
a.id AS aluno_id, | ||
t.ano, | ||
t.ano_letivo, | ||
t.modalidade_codigo | ||
FROM aluno a | ||
JOIN turma_aluno_historico tah ON tah.aluno_id = a.id | ||
JOIN turma t ON tah.turma_id = t.id AND tah.turma_id <> a.turma_id | ||
GROUP BY a.id, t.ano, t.ano_letivo, t.modalidade_codigo; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
CREATE OR REPLACE VIEW public.v_aluno_prova_extracao | ||
AS SELECT p.prova_legado_id AS prova_serap_id, | ||
p.id AS prova_serap_estudantes_id, | ||
dre.dre_id AS dre_codigo_eol, | ||
dre.abreviacao AS dre_sigla, | ||
dre.nome AS dre_nome, | ||
ue.ue_id AS ue_codigo_eol, | ||
( | ||
CASE | ||
WHEN ue.tipo_escola = 1 THEN 'EMEF'::text | ||
WHEN ue.tipo_escola = 2 THEN 'EMEI'::text | ||
WHEN ue.tipo_escola = 3 THEN 'EMEFM'::text | ||
WHEN ue.tipo_escola = 4 THEN 'EMEBS'::text | ||
WHEN ue.tipo_escola = 10 THEN 'CEI DIRET'::text | ||
WHEN ue.tipo_escola = 11 THEN 'CEI INDIR'::text | ||
WHEN ue.tipo_escola = 12 THEN 'CR.P.CONV'::text | ||
WHEN ue.tipo_escola = 13 THEN 'CIEJA'::text | ||
WHEN ue.tipo_escola = 14 THEN 'CCI/CIPS'::text | ||
WHEN ue.tipo_escola = 15 THEN 'ESC.PART.'::text | ||
WHEN ue.tipo_escola = 16 THEN 'CEU EMEF'::text | ||
WHEN ue.tipo_escola = 17 THEN 'CEU EMEI'::text | ||
WHEN ue.tipo_escola = 18 THEN 'CEU CEI'::text | ||
WHEN ue.tipo_escola = 19 THEN 'CEU'::text | ||
WHEN ue.tipo_escola = 22 THEN 'MOVA'::text | ||
WHEN ue.tipo_escola = 23 THEN 'CMCT'::text | ||
WHEN ue.tipo_escola = 25 THEN 'E TEC'::text | ||
WHEN ue.tipo_escola = 26 THEN 'ESP CONV'::text | ||
WHEN ue.tipo_escola = 27 THEN 'CEU AT COMPL'::text | ||
WHEN ue.tipo_escola = 29 THEN 'CCA'::text | ||
WHEN ue.tipo_escola = 28 THEN 'CEMEI'::text | ||
WHEN ue.tipo_escola = 30 THEN 'CECI'::text | ||
WHEN ue.tipo_escola = 31 THEN 'CEU CEMEI'::text | ||
ELSE NULL::text | ||
END || ' '::text) || ue.nome::text AS ue_nome, | ||
t.ano AS turma_ano_escolar, | ||
CASE | ||
WHEN t.ano::text <> 'S'::text THEN (t.ano::text || 'º ano'::text)::character varying | ||
ELSE t.ano | ||
END AS turma_ano_escolar_descricao, | ||
t.codigo AS turma_codigo, | ||
t.nome AS turma_descricao, | ||
a.ra AS aluno_codigo_eol, | ||
CASE | ||
WHEN a.nome_social IS NOT NULL THEN a.nome_social | ||
ELSE a.nome | ||
END AS aluno_nome, | ||
a.sexo AS aluno_sexo, | ||
a.data_nascimento AS aluno_data_nascimento, | ||
CASE | ||
WHEN p.disciplina IS NULL OR p.multidisciplinar THEN 'Multidisciplinar'::character varying | ||
ELSE p.disciplina | ||
END AS prova_componente, | ||
CASE | ||
WHEN p.possui_bib THEN ca.caderno | ||
ELSE ''::character varying | ||
END AS prova_caderno, | ||
p.total_itens AS prova_quantidade_questoes, | ||
palu.criado_em AS prova_data_inicio, | ||
palu.finalizado_em AS prova_data_entregue, | ||
CASE | ||
WHEN palu.frequencia = 0 THEN 'N'::text | ||
WHEN palu.frequencia = 1 THEN 'P'::text | ||
WHEN palu.frequencia = 2 THEN 'A'::text | ||
WHEN palu.frequencia = 3 THEN 'R'::text | ||
ELSE 'N'::text | ||
END AS aluno_frequencia | ||
FROM aluno a | ||
JOIN v_turmas_alunos vta ON a.id = vta.aluno_id | ||
JOIN turma t ON t.modalidade_codigo = vta.modalidade_codigo AND t.ano::text = vta.ano::text AND t.ano_letivo = vta.ano_letivo AND t.id = vta.turma_id | ||
JOIN ue ON t.ue_id = ue.id | ||
JOIN dre ON ue.dre_id = dre.id | ||
JOIN prova_ano pa ON t.ano::text = pa.ano::text | ||
JOIN prova p ON pa.prova_id = p.id AND t.modalidade_codigo = p.modalidade AND t.ano_letivo::double precision = date_part('year'::text, p.inicio) | ||
LEFT JOIN prova_aluno palu ON p.id = palu.prova_id AND a.ra = palu.aluno_ra AND (palu.status = ANY (ARRAY[2, 5])) AND palu.finalizado_em IS NOT NULL | ||
LEFT JOIN caderno_aluno ca ON p.id = ca.prova_id AND a.id = ca.aluno_id; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
CREATE OR REPLACE VIEW public.v_questao_aluno_resposta_max_id | ||
AS SELECT max(questao_aluno_resposta.id) AS id, | ||
questao_aluno_resposta.questao_id, | ||
questao_aluno_resposta.aluno_ra | ||
FROM questao_aluno_resposta | ||
GROUP BY questao_aluno_resposta.questao_id, questao_aluno_resposta.aluno_ra | ||
ORDER BY (max(questao_aluno_resposta.id)) DESC; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
CREATE OR REPLACE PROCEDURE public.p_consolidar_dados_prova(p_prova_serap_id bigint, p_dre_codigo_eol character varying, p_ue_codigo_eol character varying) | ||
LANGUAGE sql | ||
AS $procedure$ | ||
|
||
insert into resultado_prova_consolidado | ||
(prova_serap_id,prova_serap_estudantes_id,dre_codigo_eol,dre_sigla,dre_nome, | ||
ue_codigo_eol,ue_nome,turma_ano_escolar,turma_ano_escolar_descricao, | ||
turma_codigo,turma_descricao,aluno_codigo_eol,aluno_nome,aluno_sexo, | ||
aluno_data_nascimento,prova_componente,prova_caderno,prova_quantidade_questoes, | ||
aluno_frequencia,questao_id,questao_ordem,resposta,prova_data_inicio,prova_data_entregue) | ||
select distinct | ||
vape.prova_serap_id,vape.prova_serap_estudantes_id,vape.dre_codigo_eol,vape.dre_sigla,vape.dre_nome, | ||
vape.ue_codigo_eol,vape.ue_nome,vape.turma_ano_escolar,vape.turma_ano_escolar_descricao, | ||
vape.turma_codigo,vape.turma_descricao,vape.aluno_codigo_eol,vape.aluno_nome,vape.aluno_sexo, | ||
vape.aluno_data_nascimento,vape.prova_componente,vape.prova_caderno,vape.prova_quantidade_questoes, | ||
vape.aluno_frequencia,q.id as questao_id,q.ordem + 1 as questao_ordem, | ||
case | ||
when qar.alternativa_id is not null then a.numeracao | ||
else qar.resposta | ||
end as resposta | ||
,prova_data_inicio,prova_data_entregue | ||
from v_aluno_prova_extracao vape | ||
inner join prova p on vape.prova_serap_estudantes_id = p.id | ||
inner join questao q on vape.prova_serap_estudantes_id = q.prova_id | ||
and (not p.possui_bib or (p.possui_bib and vape.prova_caderno = q.caderno)) | ||
left join v_questao_aluno_resposta_max_id vqar on q.id = vqar.questao_id and vape.aluno_codigo_eol = vqar.aluno_ra | ||
join questao_aluno_resposta qar on qar.id = vqar.id | ||
left join alternativa a on qar.alternativa_id = a.id | ||
where vape.prova_serap_id = p_prova_serap_id and vape.dre_codigo_eol = p_dre_codigo_eol and vape.ue_codigo_eol = p_ue_codigo_eol; | ||
|
||
|
||
$procedure$ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
CREATE index if not exists tah_id_idx ON turma_aluno_historico (id); | ||
CREATE index if not exists tah_turma_id_idx ON turma_aluno_historico (turma_id); | ||
CREATE index if not exists tah_ano_letivo_idx ON turma_aluno_historico (ano_letivo); | ||
CREATE index if not exists tah_aluno_id_idx ON turma_aluno_historico (aluno_id); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
create or replace function f_caderno_aluno_prova ( | ||
prova_serap_id int8 | ||
) | ||
returns table ( | ||
id int8, | ||
aluno_id int8, | ||
caderno varchar, | ||
prova_id int8 | ||
) | ||
language plpgsql | ||
AS $function$ | ||
begin | ||
|
||
return query | ||
select max(ca.id) id, ca.aluno_id,ca.caderno, ca.prova_id | ||
from caderno_aluno ca | ||
inner join prova p | ||
on ca.prova_id = p.id | ||
where p.prova_legado_id = prova_serap_id | ||
group by ca.aluno_id,ca.caderno,ca.prova_id; | ||
|
||
end | ||
$function$ | ||
; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
create or replace function f_questao_aluno_resposta_prova ( | ||
prova_serap_id int8 | ||
) | ||
returns table ( | ||
id int8, | ||
questao_id int8, | ||
aluno_ra int8, | ||
alternativa_id int8, | ||
resposta varchar | ||
) | ||
language plpgsql | ||
as $function$ | ||
begin | ||
|
||
return query | ||
select distinct max(qar.id) AS id, | ||
qar.questao_id, | ||
qar.aluno_ra, | ||
qar.alternativa_id, | ||
qar.resposta | ||
FROM prova p | ||
inner join questao q on p.id = q.prova_id | ||
inner join questao_aluno_resposta qar on qar.questao_id = q.id | ||
where p.prova_legado_id = prova_serap_id | ||
GROUP BY qar.questao_id, qar.aluno_ra,qar.alternativa_id,qar.resposta; | ||
|
||
end | ||
$function$ | ||
; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
create or replace function f_dados_prova_alunos_turma ( | ||
prova_serap_id int8, | ||
dre_codigo_eol varchar, | ||
ue_codigo_eol varchar, | ||
turma_codigo_eol varchar | ||
) | ||
returns table (provaserapid bigint, provaserapestudantesid bigint, drecodigoeol character varying, dresigla character varying, drenome character varying, uecodigoeol character varying, uenome text, turmaanoescolar character varying, turmaanoescolardescricao character varying, | ||
turmacodigo character varying, turmadescricao character varying, alunocodigoeol bigint, alunonome character varying, alunosexo character varying, alunodatanascimento timestamp with time zone, provacomponente character varying, provacaderno character varying, | ||
provaquantidadequestoes integer, provadatainicio timestamp, provadataentregue timestamp, alunofrequencia text) | ||
language plpgsql | ||
as $function$ | ||
begin | ||
return query | ||
SELECT p.prova_legado_id AS prova_serap_id, | ||
p.id AS prova_serap_estudantes_id, | ||
dre.dre_id AS dre_codigo_eol, | ||
dre.abreviacao AS dre_sigla, | ||
dre.nome AS dre_nome, | ||
ue.ue_id AS ue_codigo_eol, | ||
( | ||
CASE | ||
WHEN ue.tipo_escola = 1 THEN 'EMEF'::text | ||
WHEN ue.tipo_escola = 2 THEN 'EMEI'::text | ||
WHEN ue.tipo_escola = 3 THEN 'EMEFM'::text | ||
WHEN ue.tipo_escola = 4 THEN 'EMEBS'::text | ||
WHEN ue.tipo_escola = 10 THEN 'CEI DIRET'::text | ||
WHEN ue.tipo_escola = 11 THEN 'CEI INDIR'::text | ||
WHEN ue.tipo_escola = 12 THEN 'CR.P.CONV'::text | ||
WHEN ue.tipo_escola = 13 THEN 'CIEJA'::text | ||
WHEN ue.tipo_escola = 14 THEN 'CCI/CIPS'::text | ||
WHEN ue.tipo_escola = 15 THEN 'ESC.PART.'::text | ||
WHEN ue.tipo_escola = 16 THEN 'CEU EMEF'::text | ||
WHEN ue.tipo_escola = 17 THEN 'CEU EMEI'::text | ||
WHEN ue.tipo_escola = 18 THEN 'CEU CEI'::text | ||
WHEN ue.tipo_escola = 19 THEN 'CEU'::text | ||
WHEN ue.tipo_escola = 22 THEN 'MOVA'::text | ||
WHEN ue.tipo_escola = 23 THEN 'CMCT'::text | ||
WHEN ue.tipo_escola = 25 THEN 'E TEC'::text | ||
WHEN ue.tipo_escola = 26 THEN 'ESP CONV'::text | ||
WHEN ue.tipo_escola = 27 THEN 'CEU AT COMPL'::text | ||
WHEN ue.tipo_escola = 29 THEN 'CCA'::text | ||
WHEN ue.tipo_escola = 28 THEN 'CEMEI'::text | ||
WHEN ue.tipo_escola = 30 THEN 'CECI'::text | ||
WHEN ue.tipo_escola = 31 THEN 'CEU CEMEI'::text | ||
ELSE NULL::text | ||
END || ' '::text) || ue.nome::text AS ue_nome, | ||
t.ano AS turma_ano_escolar, | ||
CASE | ||
WHEN t.ano::text <> 'S'::text THEN (t.ano::text || '° ano'::text)::character varying | ||
ELSE t.ano | ||
END AS turma_ano_escolar_descricao, | ||
t.codigo AS turma_codigo, | ||
t.nome AS turma_descricao, | ||
a.ra AS aluno_codigo_eol, | ||
CASE | ||
WHEN a.nome_social IS NOT NULL THEN a.nome_social | ||
ELSE a.nome | ||
END AS aluno_nome, | ||
a.sexo AS aluno_sexo, | ||
a.data_nascimento AS aluno_data_nascimento, | ||
CASE | ||
WHEN p.disciplina IS NULL OR p.multidisciplinar THEN 'Multidisciplinar'::character varying | ||
ELSE p.disciplina | ||
END AS prova_componente, | ||
CASE | ||
WHEN p.possui_bib THEN ca.caderno | ||
ELSE ''::character varying | ||
END AS prova_caderno, | ||
p.total_itens AS prova_quantidade_questoes, | ||
palu.criado_em AS prova_data_inicio, | ||
palu.finalizado_em AS prova_data_entregue, | ||
CASE | ||
WHEN palu.frequencia = 0 THEN 'N'::text | ||
WHEN palu.frequencia = 1 THEN 'P'::text | ||
WHEN palu.frequencia = 2 THEN 'A'::text | ||
WHEN palu.frequencia = 3 THEN 'R'::text | ||
ELSE 'N'::text | ||
END AS aluno_frequencia | ||
FROM aluno a | ||
JOIN v_turmas_alunos vta ON a.id = vta.aluno_id | ||
JOIN turma t ON t.modalidade_codigo = vta.modalidade_codigo AND t.ano::text = vta.ano::text AND t.ano_letivo = vta.ano_letivo AND t.id = vta.turma_id | ||
JOIN ue ON t.ue_id = ue.id | ||
JOIN dre ON ue.dre_id = dre.id | ||
JOIN prova_ano pa ON t.ano::text = pa.ano::text | ||
JOIN prova p ON pa.prova_id = p.id AND t.modalidade_codigo = p.modalidade AND t.ano_letivo::double precision = date_part('year'::text, p.inicio) | ||
LEFT JOIN prova_aluno palu ON p.id = palu.prova_id AND a.ra = palu.aluno_ra AND (palu.status = ANY (ARRAY[2, 5])) AND palu.finalizado_em IS NOT NULL | ||
LEFT JOIN f_caderno_aluno_prova(prova_serap_id) ca ON p.id = ca.prova_id AND a.id = ca.aluno_id | ||
where p.prova_legado_id = prova_serap_id | ||
and dre.dre_id = dre_codigo_eol | ||
and ue.ue_id = ue_codigo_eol | ||
and t.codigo = turma_codigo_eol; | ||
end | ||
$function$ | ||
; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
CREATE OR REPLACE VIEW public.v_aluno_prova_extracao | ||
AS SELECT p.prova_legado_id AS prova_serap_id, | ||
p.id AS prova_serap_estudantes_id, | ||
dre.dre_id AS dre_codigo_eol, | ||
dre.abreviacao AS dre_sigla, | ||
dre.nome AS dre_nome, | ||
ue.ue_id AS ue_codigo_eol, | ||
( | ||
CASE | ||
WHEN ue.tipo_escola = 1 THEN 'EMEF'::text | ||
WHEN ue.tipo_escola = 2 THEN 'EMEI'::text | ||
WHEN ue.tipo_escola = 3 THEN 'EMEFM'::text | ||
WHEN ue.tipo_escola = 4 THEN 'EMEBS'::text | ||
WHEN ue.tipo_escola = 10 THEN 'CEI DIRET'::text | ||
WHEN ue.tipo_escola = 11 THEN 'CEI INDIR'::text | ||
WHEN ue.tipo_escola = 12 THEN 'CR.P.CONV'::text | ||
WHEN ue.tipo_escola = 13 THEN 'CIEJA'::text | ||
WHEN ue.tipo_escola = 14 THEN 'CCI/CIPS'::text | ||
WHEN ue.tipo_escola = 15 THEN 'ESC.PART.'::text | ||
WHEN ue.tipo_escola = 16 THEN 'CEU EMEF'::text | ||
WHEN ue.tipo_escola = 17 THEN 'CEU EMEI'::text | ||
WHEN ue.tipo_escola = 18 THEN 'CEU CEI'::text | ||
WHEN ue.tipo_escola = 19 THEN 'CEU'::text | ||
WHEN ue.tipo_escola = 22 THEN 'MOVA'::text | ||
WHEN ue.tipo_escola = 23 THEN 'CMCT'::text | ||
WHEN ue.tipo_escola = 25 THEN 'E TEC'::text | ||
WHEN ue.tipo_escola = 26 THEN 'ESP CONV'::text | ||
WHEN ue.tipo_escola = 27 THEN 'CEU AT COMPL'::text | ||
WHEN ue.tipo_escola = 29 THEN 'CCA'::text | ||
WHEN ue.tipo_escola = 28 THEN 'CEMEI'::text | ||
WHEN ue.tipo_escola = 30 THEN 'CECI'::text | ||
WHEN ue.tipo_escola = 31 THEN 'CEU CEMEI'::text | ||
ELSE NULL::text | ||
END || ' '::text) || ue.nome::text AS ue_nome, | ||
t.ano AS turma_ano_escolar, | ||
CASE | ||
WHEN t.ano::text <> 'S'::text THEN (t.ano::text || '° ano'::text)::character varying | ||
ELSE t.ano | ||
END AS turma_ano_escolar_descricao, | ||
t.codigo AS turma_codigo, | ||
t.nome AS turma_descricao, | ||
a.ra AS aluno_codigo_eol, | ||
CASE | ||
WHEN a.nome_social IS NOT NULL THEN a.nome_social | ||
ELSE a.nome | ||
END AS aluno_nome, | ||
a.sexo AS aluno_sexo, | ||
a.data_nascimento AS aluno_data_nascimento, | ||
CASE | ||
WHEN p.disciplina IS NULL OR p.multidisciplinar THEN 'Multidisciplinar'::character varying | ||
ELSE p.disciplina | ||
END AS prova_componente, | ||
CASE | ||
WHEN p.possui_bib THEN ca.caderno | ||
ELSE ''::character varying | ||
END AS prova_caderno, | ||
p.total_itens AS prova_quantidade_questoes, | ||
palu.criado_em AS prova_data_inicio, | ||
palu.finalizado_em AS prova_data_entregue, | ||
CASE | ||
WHEN palu.frequencia = 0 THEN 'N'::text | ||
WHEN palu.frequencia = 1 THEN 'P'::text | ||
WHEN palu.frequencia = 2 THEN 'A'::text | ||
WHEN palu.frequencia = 3 THEN 'R'::text | ||
ELSE 'N'::text | ||
END AS aluno_frequencia | ||
FROM aluno a | ||
JOIN v_turmas_alunos vta ON a.id = vta.aluno_id | ||
JOIN turma t ON t.modalidade_codigo = vta.modalidade_codigo AND t.ano::text = vta.ano::text AND t.ano_letivo = vta.ano_letivo AND t.id = vta.turma_id | ||
JOIN ue ON t.ue_id = ue.id | ||
JOIN dre ON ue.dre_id = dre.id | ||
JOIN prova_ano pa ON t.ano::text = pa.ano::text | ||
JOIN prova p ON pa.prova_id = p.id AND t.modalidade_codigo = p.modalidade AND t.ano_letivo::double precision = date_part('year'::text, p.inicio) | ||
LEFT JOIN prova_aluno palu ON p.id = palu.prova_id AND a.ra = palu.aluno_ra AND (palu.status = ANY (ARRAY[2, 5])) AND palu.finalizado_em IS NOT NULL | ||
LEFT JOIN LATERAL f_caderno_aluno_prova(p.prova_legado_id) ca(id, aluno_id, caderno, prova_id) ON p.id = ca.prova_id AND a.id = ca.aluno_id; | ||
|
Oops, something went wrong.