VP HistoricoAcademico
VP HistoricoAcademico
[PPER_UNITAU_VP_HISTORICOACADEMICO] AS
BEGIN
DELETE FROM VP_HistoricoAcademico;
WITH
CTE_CURSO AS (
SELECT
GRA_CURID AS CURID,
CASE
WHEN MAX(DGR_FASDIS) % 2 = 1 THEN ((MAX(DGR_FASDIS) + 1) /
2)
ELSE (MAX(DGR_FASDIS) / 2)
END AS ANOS
FROM
TB_DISCIPLINA_GRADE DGR (NOLOCK)
INNER JOIN TB_GRADE GRA (NOLOCK) ON (GRA_ID = DGR_GRAID)
GROUP BY
GRA_CURID
),
CTE_DADOS AS (
SELECT
PES_ID AS Aluno_ID,
PES_CODTEL AS Matricula_RA,
CUR_NOMCUR AS Curso_Nome,
CAST(CASE
WHEN PEL.PEL_ANOREF IS NOT NULL AND
COALESCE(PEL.PEL_SEMESTRE,0) <> 0 THEN CAST(PEL.PEL_ANOREF AS VARCHAR(10)) + '/' +
CAST(PEL.PEL_SEMESTRE AS VARCHAR(10))
ELSE CAST(PEL.PEL_ANOREF AS VARCHAR(10))
END AS VARCHAR(255)) AS Historico_PeriodoLetivo,
(CASE
WHEN TUR_GRAID IS NULL THEN TDI_FASDIS
ELSE DGR_FASDIS END) AS Historico_PeriodoAcademicoOferta,
DIS_DISID AS Disciplina_ID,
DIS_DESDIS AS Disciplina_Nome,
(SELECT
CONVERT(DECIMAL(10,1), FLOOR( SUM(COALESCE(HIS_NOTA, 0)) /
COUNT(HIS_ID) * 10) / 10.0)
FROM
TB_HISTORICO
INNER JOIN TB_PADDIS_TIPNOT ON TNP_ID = HIS_TNPID
INNER JOIN TB_PADRONIZACAO_DIS ON PDI_ID = TNP_PDIID
WHERE
HIS_MDIID = MDI_ID
AND PDI_ID = TDI_PDIID
AND HIS_NOTA IS NOT NULL
AND PDI_DIGNOT = 'ZERO_DEZ'
AND TNP_NOTCAL = 0
AND TNP_NOTEXA = 0 ) AS Historico_NotasAtribuidas,
(SELECT
CONVERT(DECIMAL(10,1), FLOOR( SUM(COALESCE(HIS_NOTA, 0)) *
10) / 10.0)
FROM
TB_HISTORICO
INNER JOIN TB_PADDIS_TIPNOT ON TNP_ID = HIS_TNPID
INNER JOIN TB_PADRONIZACAO_DIS ON PDI_ID = TNP_PDIID
WHERE
HIS_MDIID = MDI_ID
AND PDI_ID = TDI_PDIID
AND HIS_NOTA IS NOT NULL
AND PDI_DIGNOT = 'ZERO_DEZ'
AND TNP_NOTCAL = 0
AND TNP_NOTEXA = 0 ) AS Historico_NotasDistribuidas,
(SELECT
SUM(COALESCE(HIS_FALTA,0))
FROM
TB_HISTORICO
WHERE
HIS_MDIID = MDI_ID) as Historico_Faltas,
CASE
WHEN PSU_DIGCONTMIN = 0
THEN (SELECT
COUNT(*)
FROM
TB_CRONOGRAMA_AULA_DATA
INNER JOIN TB_CRONOGRAMA_AULA ON
CAU_CADID = CAD_ID
WHERE
CAD_TDIID = TDI_TURDISID
AND CAD_DATA <=
COALESCE(MAL.MAL_DATSAI,GETDATE()))
ELSE
(SELECT
COUNT(*)
FROM
TB_CONTEUDO_MINISTRADO
INNER JOIN TB_CRONOGRAMA_AULA_DATA ON
CAD_ID = CMI_CADID
WHERE
CAD_TDIID = TDI_TURDISID
AND CAD_DATA <=
COALESCE(MAL.MAL_DATSAI,GETDATE()))
END as Historico_AulasDadas,
CASE
WHEN SRD_CODAPR IN ('CUR','EXA') THEN 1
WHEN SRD_CODAPR IN ('DIS','APR') THEN 2
WHEN SRD_CODAPR IN ('RME','RFR') THEN 3
WHEN SRD_CODAPR IN ('REC') THEN 4
WHEN SRD_CODAPR IN ('DES','NCO') THEN 5
END as Historico_Situacao,
CASE
WHEN DIS_FORREA = 'PR' THEN 2
WHEN DIS_FORREA = 'NP' THEN 1
WHEN DIS_FORREA = 'SP' THEN 3
END as Historico_ModalidadeEnsinoDisciplina
FROM
TB_PESSOA
INNER JOIN TB_INGRESSO ING ON (ING_PESID = PES_ID)
INNER JOIN TB_MESTRE_ALUNO MAL ON (MAL_INGID = ING_ID)
INNER JOIN TB_MESTRE_DISCIPLINA ON MDI_MALID = MAL_ID
INNER JOIN TB_TURMA TUR ON (TUR_ID = MAL_TURID)
INNER JOIN TB_PERIODO_LETIVO PEL ON (PEL.PEL_PERID = TUR_PERID)
INNER JOIN TB_CURSO CUR ON (ING_CURID = CUR_ID)
INNER JOIN TB_TURMA_DISCIP ON (TDI_TURID = TUR_ID AND
MDI_TURDISID = TDI_TURDISID)
LEFT JOIN TB_GRADE ON (GRA_ID = TUR_GRAID)
LEFT JOIN TB_DISCIPLINA_GRADE DGR ON (DGR_DISID = TDI_DISCID AND
DGR_GRAID = GRA_ID)
INNER JOIN TB_DISCIPLINA ON (DIS_DISID = TDI_DISCID)
INNER JOIN TB_SITUACAO_RESULTADO ON (MDI_RESID = SRD_ID)
INNER JOIN TB_SUBNIVEL_CURSO ON (SNC_ID = ING_SNCID)
INNER JOIN TB_PARAMETROS_SUBNIVEL_UNID PSU ON (ING_SNCID =
PSU_SNCID AND ING.GRUPO_UNIDON = PSU.GRUPO_UNIDON)
LEFT JOIN CTE_CURSO TP_A (NOLOCK) ON (TP_A.CURID = CUR_ID)
WHERE
PEL.PEL_ANOREF >= (YEAR(GETDATE()) - COALESCE(TP_A.ANOS,5))
)
INSERT INTO VP_HistoricoAcademico
SELECT
Aluno_ID,
Matricula_RA,
Curso_Nome,
Historico_PeriodoLetivo,
Historico_PeriodoAcademicoOferta,
Disciplina_ID,
Disciplina_Nome,
Historico_NotasAtribuidas,
Historico_NotasDistribuidas,
Historico_Faltas,
Historico_AulasDadas,
Historico_Situacao,
Historico_ModalidadeEnsinoDisciplina
FROM
CTE_DADOS;
END