DES:ACADEMUS:Pré-requisitos:TrcGrdAutomatica

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

VoltarVoltar a página Inicial - Documentação Técnica


Análise por: Liége em 12/02/08.
Desenvolvido por: Éderson em Fevereiro/09.

Tabelas a serem gravadas/modificadas: AcdCurso, AcdMatricula e AcdHistorico.

Objetivo:
Tendo em vista modificações nos projetos político-pedagógicos (PPP), faz-se necessário trocar o Curso/Grade de acadêmicos. Assim, é necessário migrar disciplinas com Matrícula ou que já estejam no Histórico (já concluídas) de determinado Curso/Grade para o novo Curso/Grade.
Para disciplinas com códigos diferentes entre os novos dados de Curso/Grade, é necessário que sejam cadastradas as equivalências entre as disciplinas na tabela GrdCrrDscEquivalencia.
Uma disciplina pode ser convertida em mais de uma e, vice-versa.

Filtro para Seleção de Acadêmicos:
Disponibilizar os seguintes campos para selecionar os acadêmicos para os quais se deseja efetuar a troca de Curso/Grade:

  • Curso Geral: Exibir dados da visão TblCrsGeral (Código e Nome).
  • Curso: Campo obrigatório; Exibir dados da tabela Curso (Cód. Curso Geral, Cód. Curso, Nome, Habilitação, Modalidade, Campus Funcionamento, Turno, Duração mínima e máxima; Dados para re-filtro: Curso Geral.
  • Série Atual: Campo obrigatório; Exibir num combo dados da tabela GrdCrrSerie (Select distinct GrdCrrSr_Codigo, GrdCrrSr_Formatacao ...); Dados para re-filtro: Curso e Grade Atual.
  • Período Letivo de Ingresso: Exibir num combo dados da tabela PrdLetivo em ordem decrescente de PrdLtv_PrdLetivo.
  • Grade Atual: Campo obrigatório; Exibir num combo dados da tabela GrdCurricular. Dados para re-filtro: Curso
  • Situação Atual (AcdStcAtual): Exibir num combo dados da Tabela Geral - CdgStcAcademico

Selecionar Acadêmicos da tabela AcdCurso usando os filtros acima preenchidos e desde que tenha Situação Atual igual a "Cursando" ou "Trancado" ou "Abandono" em AcdStcAtual. Exibí-los num grid à esquerda e colocar botões (> e >>) para movê-los para um grid de selecionados, à direita. Colocar, também, botões (< e <<) para remover dos selecionados.

Filtro para selecionar dados do Histórico/Matrícula:

  • Curso: Mesmas definições do outro filtro de Curso;
  • Grade Atual: Mesmas definições do outro filtro de Grade

Ao selecionar os dados em AcdCurso, usar estes 2 filtros como complemento para verificar se existem em AcdHistorico ou AcdMatricula.

Parâmetros para Troca de Grade:

  • Novo Curso: Campo obrigatório e pode ser que não mude; Exibir dados da tabela Curso (Cód. Curso Geral, Cód. Curso, Nome, Habilitação, Modalidade, Campus Funcionamento, Turno, Duração mínima e máxima; Dados para re-filtro: Curso Geral.
  • Nova Grade: Campo obrigatório e deve ser diferente do que o do filtro informado nos dados de seleção do Histórico/Matrícula; Exibir num combo dados da tabela GrdCurricular. Dados para re-filtro: Curso
  • Nova Série: Habilitar somente se o Curso tiver mudado (painel Dados do Destino x painel Dados da Matrícula/Histórico)
  • Situação Atual: Habilitar somente se o Curso tiver mudado (painel Dados do Destino x painel Dados da Matrícula/Histórico)


Troca de Grade:
Resumo: Para cada acadêmico será necessário alterar ou inserir registro com o novo Curso/Grade em AcdMatricula e AcdHistorico, desde que a disciplina esteja na nova grade, seja com o mesmo Código ou através de Equivalência. Se o Curso mudou (novo curso do painel Dados do Destino diferente curso do painel Dados do Curso do Acadêmico), ler AcdCurso usando Acadêmico, Novo Curso e Situação Atual=Crs (cursando) para buscar AcdCrs_SqnFormacao.

  • Se não encontrar, exibir mensagem (Acadêmico deve existir em Cursos por Acadêmico no novo curso/grade...) e não permitir que o acadêmico seja selecionado
  • Se retornar mais de 1 registro, no grid será necessário que o usuário selecione a Sqn Formação desejada;

Senão, (o Curso é o mesmo e a Grade mudou)

  • Usar mesmo Acadêmico/Sequência Formação de AcdCurso, pois o Curso é o mesmo; apenas trocou a Grade



Etapa 1: Alterar/Inserir Curso/Grade das Disciplinas com mesmo Código:

  • Se mesmo Acadêmico/Sequência Formação, alterar a Grade de Disciplinas de AcdMatricula e AcdHistorico que tenham o mesmo código na nova grade e desde que não sejam optativas.
  • Senão, gerar novos registros (copiar) para o outro Acadêmico/Sequência Formação em AcdMatricula ou AcdHistorico e, caso houver Matrícula nos Curso/Grade antigo, remover



Etapa 2: Alterar/Inserir Curso/Grade das Disciplinas Optativas com mesmo Código:
Ler o Rol de disciplinas optativas da nova Grade (GrdCrrDscOptativa – Select distinct disciplina, ... independente de Prd. Letivo de Vigência) e localizar cada uma numa seleção contendo os dados de Matrícula e Histórico de cada acadêmico.

  • Se encontrar, localizá-la nas optativas da série (GrdCrrDscOptSerie) em um período letivo de vigência <= período letivo de realização;
    • Se encontrar,
      • Se mesmo Acadêmico/Sequência Formação, alterar os dados referentes à grade na disciplina optativa (cursada e da grade) existente na Matrícula ou Histórico.
      • Senão, gerar novos registros (copiar) para o novo Acadêmico/Sequência Formação em AcdMatricula ou AcdHistorico e, caso houver Matrícula nos Curso/Grade antigo, remover
    • Se não encontrar em GrdCrrDscOptSerie (<=), localizar em qualquer período letivo de vigência, sendo que quando existir mais de um, considerar o mais recente:
      • Se encontrar,
        • Se mesmo Acadêmico/Sequência Formação, alterar os dados referentes à grade na disciplina optativa (cursada e da grade) existente na Matrícula ou Histórico
        • Senão, gerar novos registros (copiar) para o novo Acadêmico/Sequência Formação em AcdMatricula ou AcdHistorico e, caso houver Matrícula nos Curso/Grade antigo, remover


Etapa 3: Alterar/Inserir Curso/Grade das Disciplinas através de Equivalência:
Ler as disciplinas de equivalência do Curso/Grade nova (GrdCrrDscEquivalencia), sendo que para que uma Equivalência seja atendida, todas as disciplinas de um mesmo Grupo deverão ser atendidas, através de verificação no Histórico ou Matrícula de cada acadêmico:

  • Se encontrar,
    • inserir no Historico ou na Matrícula, (usando o mesmo Acadêmico/Sequência Formação ou a nova Sequência Formação, dependendo do caso), a nova disciplina do Curso/Grade com os dados da antiga, e as tabelas filhas, referentes ao aproveitamento de estudos (AcdHstDscAproveitamento e/ou AcdHstEquivalencia), quando existirem;
    • Se as disciplinas que sofreram aproveitamento forem do Histórico, mantê-las no Curso/Grade antiga; Se forem da Matrícula, remover a matrícula do Curso/Grade antiga.

Observações Gerais:

  • Quando a troca envolver “n” disciplinas da grade antiga para 1 da grade nova (GrdCrrDscEquivalencia):
    • Usar ROUND nos cálculos;
    • Calcular a média aritmética da Média do Prd. Letivo e da Média Final e ignorar as disciplinas que tiverem conceito;
    • Em caso de mais de um período letivo, considerar o mais recente;
    • Calcular a média aritmética para o Percentual de Frequência, e ignorar as disciplinas que não tiverem este percentual.
    • FrmOferta: Caso tenha mais de um, prevalecer 'Anl' (anual);
    • TpAtvAcdComplementar: NULL;
    • CdgStcDscHistorico: Atv;
    • TpMatricula: 'N' (normal);
    • CrgHoraria: C/H da Disciplina da grade atual
      (ISNULL(Disciplina.Dsc_TtlHrsTeoricas, 0) + ISNULL(Disciplina.Dsc_TtlHrsPraticas, 0) + ISNULL(Disciplina.Dsc_TtlHrsEstagio,0) + ISNULL(Disciplina.Dsc_TtlHrsAPS,0) + ISNULL(Disciplina.Dsc_TtlHrsPCC, 0) );
    • CrgHrrMinistrada: C/H da Disciplina da grade atual;
    • CdgDispensa: NULL;
    • Mencao: NULL;
  • Gravar na Matrícula/Histórico da disciplina da grade nova, indicativo de que houve troca de grade.(ObsInterna='T' e Observacoes='Disciplina sofreu Troca de Grade em dd/mm/aaaa')
  • Caso solicitado pelo usuário, gravar observação que deve constar no Histórico - AcdCurso.AcdCrs_HstOfcObservacoes
  • No caso de disciplina de AcdHistorico, gravar/alterar a tabela AcdHstMtrEnsalamento devido ao Total de Faltas


Atualização em AcdCurso, AcdSituacao e AcdStcAtual:
Comparar os dados do painel Dados do Destino x AcdCurso/AcdSituacao/AcdStcAtual e atualizar o que for diferente, no caso de ficar a mesma Sqn Formação; Caso contrário, usar os dados para a outra Sqn. Formação.

Ferramentas pessoais
Espaços nominais
Variantes
Ações
Navegação
Ferramentas