0% found this document useful (0 votes)
15 views3 pages

VP HistoricoAcademico

Uploaded by

marco.soares
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views3 pages

VP HistoricoAcademico

Uploaded by

marco.soares
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

CREATE PROCEDURE [dbo].

[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

You might also like