DES:ACADEMUS:Pré-requisitos:CdsLncMdaPrdLetivo

De Wiki Unioeste NTI
Ir para: navegação, pesquisa

VoltarVoltar a Página Inicial - Menu Sistemas
Definição: Liége em 02/09/08

O objetivo deste cadastro é apenas cadastrar a Média do Período Letivo, Faltas, Nota de Exame (quando houver) e Carga Horária Ministrada. A partir destas informações, calcular-se-á a Média Final, o Percentual de Frequência e o Resultado (Aprovado/Reprovado).

Este cadastro é provisório, feito para ser usada pela Secretaria Acadêmica (SA). Posteriormente, quando houver a digitação das notas via web, os docentes deverão lançar todas as notas que compõem a Média do Período Letivo.

Filtro para seleção de acadêmicos:
Período Letivo, Curso, Série, Disciplina e Cabeçalho da Turma: Dados deverão ser selecionados de AcdMatricula, AcdMtrEnsalamento e TrmCabecalho; acrescentar TrmCabecalho.TrmCbc_Situacao='A' (Turma Aberta) e AcdMatricula.TblGrlItm_CdgStcDscMatricula='Mtr' (Matrícula ativa) ; Ao selecionar dados em AcdMtrEnsalamento, selecionar apenas uma turma, visto que poderá haver mais de uma. O objetivo é mostrar todos os acadêmicos que pertencem ao determinado Cabeçalho de Turma, independente das Turmas.
Período Letivo:

SELECT DISTINCT TrmCabecalho.PrdLtv_PrdLetivo, PrdLetivo.PrdLtv_Formatacao
from TrmCabecalho inner join PrdLetivo on TrmCabecalho.PrdLtv_PrdLetivo = PrdLetivo.PrdLtv_PrdLetivo
where TrmCabecalho.TrmCbc_Situacao='A'
and exists (select 1 from AcdMtrEnsalamento
where AcdMtrEnsalamento.PrdLtv_PrdLetivo = TrmCabecalho.PrdLtv_PrdLetivo
and AcdMtrEnsalamento.Crs_Codigo = TrmCabecalho.Crs_Codigo
and AcdMtrEnsalamento.TrmCbc_Serie = TrmCabecalho.TrmCbc_Serie
and AcdMtrEnsalamento.Dsc_Codigo = TrmCabecalho.Dsc_Codigo
and AcdMtrEnsalamento.TrmCbc_Sequencia = TrmCabecalho.TrmCbc_Sequencia)

Curso:

SELECT DISTINCT TrmCabecalho.PrdLtv_PrdLetivo, TrmCabecalho.Crs_Codigo, Curso.Crs_Descricao, Setor.Str_Descricao, Turno.TblGrlItm_DscItem1 AS Turno,
Modalidade.TblGrlItm_DscItem1 AS Modalidade, Hbl_DscAbreviada,
curso.TpCrs_Codigo, TpCrs_Descricao, Crs_DtDstCodigo
FROM TrmCabecalho
INNER JOIN Curso on Curso.Crs_Codigo = TrmCabecalho.Crs_Codigo
INNER JOIN Setor on Setor.Str_Codigo = Curso.Str_FncCampus
INNER JOIN TblGrlItem Turno on Turno.TblGrl_Codigo = TblGrl_CdgTurno AND Turno.TblGrlItm_Codigo = TblGrlItm_CdgTurno
INNER JOIN TblGrlItem Modalidade on Modalidade.TblGrl_Codigo = TblGrl_CrsCdgModalidade AND Modalidade.TblGrlItm_Codigo = TblGrlItm_CrsCdgModalidade
INNER JOIN TpCurso on TpCurso.TpCrs_Codigo = Curso.TpCrs_Codigo
LEFT OUTER JOIN Habilitacao on Habilitacao.Hbl_codigo = Curso.Hbl_Codigo
where TrmCabecalho.TrmCbc_Situacao='A' and exists (select 1 from AcdMtrEnsalamento where AcdMtrEnsalamento.PrdLtv_PrdLetivo = TrmCabecalho.PrdLtv_PrdLetivo
and AcdMtrEnsalamento.Crs_Codigo = TrmCabecalho.Crs_Codigo
and AcdMtrEnsalamento.TrmCbc_Serie = TrmCabecalho.TrmCbc_Serie
and AcdMtrEnsalamento.Dsc_Codigo = TrmCabecalho.Dsc_Codigo
and AcdMtrEnsalamento.TrmCbc_Sequencia = TrmCabecalho.TrmCbc_Sequencia)

Série:

SELECT DISTINCT TrmCabecalho.PrdLtv_PrdLetivo, TrmCabecalho.Crs_Codigo, TrmCabecalho.TrmCbc_Serie, GrdCrrSerie.GrdCrrSr_Formatacao
from TrmCabecalho
inner join GrdCrrSerie on GrdCrrSerie.GrdCrrSr_Codigo = TrmCabecalho.TrmCbc_Serie
where TrmCabecalho.TrmCbc_Situacao='A'
and exists (select 1 from AcdMtrEnsalamento
where AcdMtrEnsalamento.PrdLtv_PrdLetivo = TrmCabecalho.PrdLtv_PrdLetivo
and AcdMtrEnsalamento.Crs_Codigo = TrmCabecalho.Crs_Codigo
and AcdMtrEnsalamento.TrmCbc_Serie = TrmCabecalho.TrmCbc_Serie
and AcdMtrEnsalamento.Dsc_Codigo = TrmCabecalho.Dsc_Codigo
and AcdMtrEnsalamento.TrmCbc_Sequencia = TrmCabecalho.TrmCbc_Sequencia)

Disciplina:

SELECT distinct TrmCabecalho.PrdLtv_PrdLetivo, TrmCabecalho.Crs_Codigo, TrmCabecalho.TrmCbc_Serie, TrmCabecalho.Dsc_Codigo, 
rtrim(TrmCabecalho.Dsc_Codigo) + ' - ' + Dsc_Descricao AS Dsc_Descricao,
TblGrlItm_TpDisciplina
FROM TrmCabecalho INNER JOIN
Disciplina ON TrmCabecalho.Dsc_Codigo = Disciplina.Dsc_Codigo
where TrmCabecalho.TrmCbc_Situacao='A'
and exists (select 1 from AcdMtrEnsalamento
where AcdMtrEnsalamento.PrdLtv_PrdLetivo = TrmCabecalho.PrdLtv_PrdLetivo
and AcdMtrEnsalamento.Crs_Codigo = TrmCabecalho.Crs_Codigo
and AcdMtrEnsalamento.TrmCbc_Serie = TrmCabecalho.TrmCbc_Serie
and AcdMtrEnsalamento.Dsc_Codigo = TrmCabecalho.Dsc_Codigo
and AcdMtrEnsalamento.TrmCbc_Sequencia = TrmCabecalho.TrmCbc_Sequencia)

Cabeçalho da Turma:

SELECT PrdLtv_PrdLetivo, Crs_Codigo, TrmCbc_Serie, Dsc_Codigo, TrmCbc_Sequencia 
FROM TrmCabecalho
where TrmCabecalho.TrmCbc_Situacao='A'
and exists (select 1 from AcdMtrEnsalamento
where AcdMtrEnsalamento.PrdLtv_PrdLetivo = TrmCabecalho.PrdLtv_PrdLetivo
and AcdMtrEnsalamento.Crs_Codigo = TrmCabecalho.Crs_Codigo
and AcdMtrEnsalamento.TrmCbc_Serie = TrmCabecalho.TrmCbc_Serie
and AcdMtrEnsalamento.Dsc_Codigo = TrmCabecalho.Dsc_Codigo
and AcdMtrEnsalamento.TrmCbc_Sequencia = TrmCabecalho.TrmCbc_Sequencia)


À medida que os campos de filtro forem digitados, acrescentá-los nos WHERE dos SELECT's.

É necessário fixar uma Turma, visto que nela será gravada a Carga Horária Ministrada em todas as turmas na tabela Turma e as Faltas de cada Acadêmico na tabela AcdMtrEnsalamento. Isto ocorre porque a SA não vai lançar separadamente por cada turma (quando houver mais de uma, por exemplo prática e teórica) a Carga Horária Ministrada e as Faltas.

a Carga Horária Ministrada é o que realmente foi dado pelo docente (somando-se Teórica, Prática, Estágio, PCC e APS) e deve ser igual ou maior que a soma das Cargas Horárias Teórica, Prática, Estágio, PCC e APS da Disciplina (Dsc_TtlHrsTeoricas + Dsc_TtlHrsPraticas + Dsc_TtlHrsEstagio + Dsc_TtlHrsAPS + Dsc_TtlHrsPCC; tratar NULL, visto que nem todos são obrigatórios).

Dados a serem digitados e válidos para todos os acadêmicos:

  • Carga Horária Ministrada em todas as turmas


Dados a serem digitados por Acadêmico:

  • Média do Período Letivo
  • Total de Faltas
  • Nota de Exame


Dados a serem calculados automaticamente por Acadêmico:

  • Média Final (permitir edição após o cálculo)
  • Percentual de Frequência (permitir edição o cálculo)
  • Resultado


Verificar se, para os acadêmicos selecionados, existe algum Regime Acadêmico do Curso (AcdCurso) diferente do Regime do Curso de Ensalamento. Se existir, dar mensagem, informando qual o Acadêmico/Curso. Sendo todos iguais, ler RgmAcademico para verificar parte das regras do regime acadêmico.

Notas/Faltas:

  • Se Tem Nota for False (Disciplina.Dsc_TmNota - Disciplina da Matrícula e não da Turma), não poderá haver lançamento de notas, mas somente o total de faltas.
  • Se Tem Exame for False (Disciplina.Dsc_TmExame - Disciplina da Matrícula e não da Turma), não poderá haver lançamento de nota para a prova de exame.
  • Se Tem Frequência for False (Disciplina.Dsc_TmFrequencia - Disciplina da Matrícula e não da Turma), não poderá haver lançamento de faltas.
  • A nota poderá ser igual a zeros ou estar na escala de Nota Mínima (RgmAcademico.RgmAcd_EscNtMinima) e Máxima (RgmAcademico.RgmAcd_EscNtMaxima), inclusive, e poderá conter 2 casas decimais.


Cálculos:

  • Se Tem Frequência for True, calcular o percentual de frequência com arredondamento: ROUND((Aulas Ministradas – Faltas) * 100 / Aulas Ministradas),RgmAcademico.RgmAcd_PscDecimais)
  • senão, Percentual de Frequência = NULL


  • Se Tem Nota for True:
    • Se Tem Exame (Disciplina) for False:
      • Se Percentual de Frequência < Percentual Mínimo do Regime Acadêmico (RgmAcademico.RgmAcd_PrcMnmFrequencia) E Média do Período Letivo < Nota Mínima do Período Letivo Sem Exame (RgmAcademico.RgmAcd_PdrNtMnmMdPrdLetivo), Resultado = Aprovado;
      • senão, Resultado = Reprovado
      • Média Final = Média do Período Letivo
      • Nota Exame = NULL
    • senão (se tem Exame)
      • Se Percentual de Frequência >= Percentual Mínimo do Regime Acadêmico (RgmAcademico.RgmAcd_PrcMnmFrequencia) E Média do Período Letivo >= Nota Mínima do Período Letivo Sem Exame (RgmAcademico.RgmAcd_PdrNtMnmMdPrdLetivo), Resultado = Aprovado, Média Final = Média do Período Letivo e Nota Exame = NULL;
      • senão
        • Se Percentual de Frequência < Percentual Mínimo do Regime Acadêmico (RgmAcademico.RgmAcd_PrcMnmFrequencia) OR Média do Período Letivo < Nota Mínima para Exame (RgmAcademico.RgmAcd_PdrNtMnmExame), Resultado = Reprovado, Média Final = Média do Período Letivo e Nota Exame = NULL;
        • senão
          • Média Final = ROUND((Média do Período Letivo * RgmAcademico.RgmAcd_PsMedia) + (Nota de Exame * RgmAcademico.RgmAcd_PsExame)/ (RgmAcademico.RgmAcd_PsMedia + RgmAcademico.RgmAcd_PsExame), RgmAcademico.RgmAcd_PscDecimais)
          • Se Média Final >= Nota Mínima da Média Final (RgmAcademico.PdrNtMnmMdFinal), Resultado = Aprovado
          • senão, Resultado = Reprovado


Gravar em AcdMatricula:

  • AcdMtr_MdPrdLetivo
  • AcdMtr_NtExame
  • AcdMtr_MdFinal
  • AcdMtr_Resultado


Gravar em AcdMtrEnsalamento (para apenas 1 turma qqr do Cabeçalho da Turma):

  • AcdMtrEns_Faltas


Gravar em Turma (para apenas 1 turma qqr do Cabeçalho da Turma):

  • Trm_CrgHrrMinistrada
  • Trm_DgtExtBloqueada = 'T'
  • Trm_DgtExtFinalizada = 'T'
  • Trm_MdCalculada = 'T'


Gravar em TrmCabecalho:

  • TrmCbc_DgtExtBloqueada = 'T'
  • TrmCbc_DgtExtFinalizada = 'T'
  • TrmCbc_MdPrdLtvCalculada = 'T'
  • TrmCbc_MdFnlCalculada = 'T'
Ferramentas pessoais
Espaços nominais
Variantes
Ações
Navegação
Ferramentas