|
SELECT
|
|
mc.id_discente,
|
|
p.nome,
|
|
p.cpf_cnpj,
|
|
d.id_curso,
|
|
c.nome AS nome_curso,
|
|
d.id_curriculo AS id_curriculo_discente,
|
|
cr.id_curriculo AS id_curriculo_curriculo_ativo,
|
|
cr.ch_total_minima AS carga_horaria_minima_curso,
|
|
cr.semestre_conclusao_ideal AS duracao_padrao_periodos,
|
|
d.status,
|
|
sd.descricao AS descricao_status_discente,
|
|
d.data_colacao_grau,
|
|
d.data_integralizacao,
|
|
d.formando,
|
|
d.ch_integralizada,
|
|
idx.ira,
|
|
idx.iean,
|
|
idx.mc,
|
|
mc.ano,
|
|
mc.periodo,
|
|
mc.id_componente_curricular,
|
|
mc.id_componente_detalhes,
|
|
cc.codigo,
|
|
ccd.nome AS nome_componente_curricular,
|
|
ccd.ch_total AS carga_horaria_componente,
|
|
mc.id_turma,
|
|
mc.media_final,
|
|
mc.numero_faltas,
|
|
mc.porcentagem_frequencia,
|
|
mc.id_situacao_matricula,
|
|
sm.descricao AS situacao_matricula
|
|
FROM ensino.matricula_componente mc
|
|
JOIN public.discente d
|
|
ON d.id_discente = mc.id_discente
|
|
JOIN comum.pessoa p
|
|
ON p.id_pessoa = d.id_pessoa
|
|
LEFT JOIN public.curso c
|
|
ON c.id_curso = d.id_curso
|
|
LEFT JOIN public.status_discente sd
|
|
ON sd.status = d.status
|
|
LEFT JOIN (
|
|
SELECT DISTINCT ON (id_curso)
|
|
id_curso,
|
|
id_curriculo,
|
|
ch_total_minima,
|
|
semestre_conclusao_ideal
|
|
FROM graduacao.curriculo
|
|
WHERE ativo = true
|
|
ORDER BY id_curso, id_curriculo DESC
|
|
) cr
|
|
ON cr.id_curso = d.id_curso
|
|
LEFT JOIN (
|
|
SELECT
|
|
iad.id_discente,
|
|
MAX(CASE WHEN ia.sigla = 'IRA' THEN iad.valor END) AS ira,
|
|
MAX(CASE WHEN ia.sigla = 'IEAN' THEN iad.valor END) AS iean,
|
|
MAX(CASE WHEN ia.sigla = 'MC' THEN iad.valor END) AS mc
|
|
FROM ensino.indice_academico_discente iad
|
|
JOIN ensino.indice_academico ia
|
|
ON ia.id = iad.id_indice_academico
|
|
WHERE ia.sigla IN ('IRA', 'IEAN', 'MC')
|
|
GROUP BY iad.id_discente
|
|
) idx
|
|
ON idx.id_discente = mc.id_discente
|
|
LEFT JOIN ensino.componente_curricular cc
|
|
ON cc.id_disciplina = mc.id_componente_curricular
|
|
LEFT JOIN ensino.componente_curricular_detalhes ccd
|
|
ON ccd.id_componente_detalhes = mc.id_componente_detalhes
|
|
LEFT JOIN ensino.situacao_matricula sm
|
|
ON sm.id_situacao_matricula = mc.id_situacao_matricula
|
|
ORDER BY
|
|
mc.ano,
|
|
mc.periodo,
|
|
p.nome,
|
|
mc.id_componente_curricular;
|