====== Especificação Funcional: Cancelamento de movimento em turma regular ====== ===== Resumo ===== Esta funcionalidade permite ao usuário cancelar a última movimentação dos alunos que estão matriculados no sistema, em turma regular. ===== Descrição ===== O cancelamento do movimento de um aluno em turma regular é a possibilidade que o usuário tem de retornar o aluno ao movimento anterior, seja por um erro na movimentação atual ou outro motivo. Os alunos matriculados que tiverem o seu movimento atual cancelado retornarão à sua matrícula para a escola, curso, série e turma que estavam matriculados anteriormente. ==== Cancelar movimento do aluno selecionado em turma regular ==== Ao acessar o módulo de Alunos, na visão Padrão, o sistema deve exibir uma lista com todos os alunos cadastrados. Após selecionado o aluno, o usuário poderá realizar seu cancelamento de movimento através da funcionalidade “Cancelar movimento do aluno selecionado em turma regular” na opção "Cancelar movimento" do módulo, no clique do botão direito do mouse na linha do aluno na listagem ou utilizar as teclas de atalho Ctrl+C. === Dados do Cancelamento de movimento em turma regular === O cancelamento do movimento de um aluno em turma regular deve possuir os seguintes campos: |< 100% 19% 60% 7% 7% 7%>| ^ Campo ^ Descrição ^ Tipo ^ Tamanho ^ Obrigatório? ^ |**Dados do Aluno** ||||| |Nome |Nome do aluno | Texto | - | Sim | |Data nasc. |Data de nascimento do aluno | Data | - | Sim | |**Listagem das movimentações** ||||| |Data movimento |Data da movimentação na turma regular | Data | - | Sim | |Movimento na turma regular |Tipo do movimento na turma regular | Texto | - | Sim | |Escola |Nome da escola na turma regular que foi realizado o movimento | Texto | - | Sim | |Turma |Nome da turma regular que foi realizado o movimento | Texto | - | Sim | |Turno |Turno da turma regular que foi realizado o movimento | Texto | - | Sim | ===== Configurações e preferências do usuário ===== Não se aplica. ===== Pontos de verificação ===== * O sistema deve exibir os dados do aluno: nome e data nascimento, desabilitados para edição; ==== Cancelamento de movimento: em turma regular ==== * O sistema não deve permitir cancelar o movimento do aluno em turma regular, caso a situação do aluno seja "Finalizado". Nesse caso, deve ser exibida uma mensagem informando ao usuário que não é possível realizar o cancelamento; * O sistema deve exibir na listagem de movimentações, todas as movimentações existentes do aluno em turmas regulares. As movimentações devem ser exibidas em ordem decrescente, da última movimentação (atual) até a primeira realizada no início do ano letivo; * O sistema deve exibir na cor preta a movimentação ou as movimentações que serão canceladas; e na cor cinza as demais movimentações (caso existam mais, além da movimentação atual); === Identificação das disciplinas das turmas === * Quando o sistema não conseguir identificar as disciplinas entre as turmas (origem e destino) deve ser exibida a tela "Identificar as disciplinas das turmas", onde devem existir os seguintes campos: * Campos para identificação (não podem ser editados): * Aluno: nome do aluno; * Turma origem: nome da turma origem; nome da série origem; nome do curso origem; nome da escola origem; * Turma destino: nome da turma destino; nome da série destino; nome do curso destino; nome da escola destino; * Duas colunas: * Disciplinas da turma de origem: devem ser exibidos os nomes das disciplinas da turma de origem (de onde os alunos estão matriculados), que não foram identificadas pelo sistema; * Disciplinas da turma de destino: devem ser exibidos os nomes das disciplinas da turma de destino, que corresponderem às disciplinas da turma de origem. É através dessa coluna que o usuário relacionará a disciplina da turma de origem com a disciplina da turma de destino; * Botão "Localizar uma disciplina da turma de destino", que através dele será exibida a tela de localizar disciplina, onde serão exibidos os nomes das disciplinas da turma de destino, que ainda não foram identificadas; * Assim que o usuário identificar as disciplinas e clicar no botão Salvar, o sistema deve atribuir os valores (notas e faltas) dos alunos nas respectivas disciplinas identificadas pelo usuário; * Caso uma disciplina não seja identificada, o sistema não conseguirá manter seus dados para a nova turma dos alunos, ou seja, disciplinas não identificadas terão seus dados excluídos; * O usuário pode cancelar a identificação de disciplinas. Nesse caso, o sistema deve manter a tela de cancelamento aberta, para que ele possa refazer o processo. Dessa forma, o sistema não pode armazenar os valores anteriores em memória, ou seja, todo o procedimento deve ser refeito assim que o usuário clicar novamente no botão Ok (da tela de cancelamento); * O sistema utiliza os seguintes critérios, para identificar automaticamente as disciplinas entre as turmas: * Nomes iguais * Áreas disciplinares iguais * Nos casos em que a matrícula do aluno pode sofrer alterações de séries (Transferido, Avançado, Classificado e Reclassificado): * Quando as séries de origem e destino do aluno forem diferentes, mesmo que o sistema tenha a identificação de todas as disciplinas, ainda assim o sistema só vai manter os dados (nota/falta) para o aluno, caso os campos "Aplicar critério de aprovação" e "Tipo de avaliação" forem os mesmos para as respectivas disciplinas. === Cancelamento de Movimento: Matriculado === * O sistema deve verificar se existem lançamentos de notas ou faltas do aluno na turma regular, caso existam deve exibir uma mensagem informando que não é possível realizar o cancelamento, por existirem lançamentos vinculados ao aluno; * Ao cancelar a movimentação atual de matrícula, o sistema deve informar ao usuário, nas seguintes situações: * Quando existir apenas uma movimentação de matrícula: que ao cancelar o movimento, toda a matrícula do aluno será cancelada e perguntar se deseja continuar; * Quando existir mais movimentações, além da atual: que ao cancelar o movimento, a matrícula e o movimento anterior serão cancelados, e o aluno retornará a matrícula para a turma anterior, exibindo o nome da turma e da escola (caso a escola não seja a mesma da matrícula atual); e perguntar se deseja continuar; * O sistema não permite cancelar o movimento de um aluno matriculado (sem movimentação anterior) e que possua notas ou faltas lançadas, pois neste cancelamento o sistema irá desmatricular o aluno do ano letivo, e com tais informações isso não é permitido. Neste caso, o sistema deve exibir uma mensagem ao usuário informando a situação; * Quando o aluno possuir apenas a movimentação Matriculado, o sistema deve: * Excluir a movimentação do aluno na turma (tabela TabAlunosTurmas); * Limpar os dados da matrícula no cadastro do aluno, ou seja, desmatriculá-lo da turma regular para o ano letivo (tabela TabAlunos); * Excluir a série da matrícula no histórico do aluno para o curso; caso só exista a série cursada, o sistema deve excluir todo o histórico do aluno (tabela TabHistorico); * Criar a movimentação de cancelamento do movimento matriculado, nas movimentações do aluno (tabela TabAlunoMovimentacao). A data do cancelamento será a data atual; * Quando o aluno possuir mais movimentações, além da atual de matrícula, o sistema deve realizar todos os procedimentos listados no item acima, exceto limpar os dados da matrícula, pois seriam perdidas informações do aluno. Neste caso, os dados da matrícula serão atualizados após a realização dos cancelamentos, caso o movimento anterior seja de Remanejamento, Avanço, Classificação, Reclassificação e/ou Transferência interna, onde o sistema deve cancelar esses movimentos juntamente com o atual do aluno, para que o mesmo retorne ao movimento de matrícula anterior; == Cancelamento de Movimento: Matriculado, com movimento anterior de Remanejado == * O sistema deve impedir o cancelamento do movimento remanejado, caso não exista a movimentação anterior de matrícula do aluno; * O sistema não deve impedir o cancelamento caso existam notas ou faltas lançadas, a operação deve ser realizada e as substituições de códigos de notas serão realizadas automaticamente pelo sistema; * Ao realizar o cancelamento do movimento matriculado que possui movimento anterior de remanejado, o sistema deve: * Excluir o movimento de Matriculado do aluno na turma, que está sendo cancelada (tabela TabAlunosTurmas); * Criar a movimentação de cancelamento do movimento Matriculado, nas movimentações do aluno (tabela TabAlunoMovimentacao). A data do cancelamento será a data atual; * Excluir o movimento de Remanejado do aluno na tabela de vínculo do aluno com a turma, que está retornando (tabela TabAlunosTurmas); * Excluir o aluno da ata da turma, que está retornando, caso exista (tabela TabAlunoAta); * Criar a movimentação de cancelamento do movimento remanejado, nas movimentações do aluno (tabela TabAlunoMovimentacao). A data do cancelamento será a data atual; * Após o cancelamento da movimentação de remanejamento, o sistema deve realizar a matrícula do aluno novamente na turma anterior, ver item abaixo ("Persistência da matrícula anterior"); == Cancelamento de Movimento: Matriculado, com movimento anterior de Transferido (externo) == * Quando o aluno possuir o movimento anterior de transferência externa, o sistema deve: * Excluir a movimentação de matrícula do aluno na turma (tabela TabAlunosTurmas); * Excluir a série da matrícula no histórico do aluno para o curso; caso só exista a série cursada, o sistema deve excluir todo o histórico do aluno (tabela TabHistorico); * Criar a movimentação de cancelamento do movimento matriculado, nas movimentações do aluno (tabela TabAlunoMovimentacao). A data do cancelamento será a data atual; * Após o cancelamento da movimentação de matrícula, o sistema deve realizar a persistência do aluno novamente na turma como Transferido, ver item abaixo ("Persistência do movimento: Transferido"); == Cancelamento de Movimento: Matriculado, com movimento anterior de Desistente == * Quando o aluno possuir o movimento anterior de desistência, o sistema deve: * Excluir a movimentação de matrícula do aluno na turma (tabela TabAlunosTurmas); * Criar a movimentação de cancelamento do movimento matriculado, nas movimentações do aluno (tabela TabAlunoMovimentacao). A data do cancelamento será a data atual; * Após o cancelamento da movimentação de matrícula, o sistema deve realizar a persistência do aluno novamente na turma como Desistente, ver item abaixo ("Persistência do movimento: Desistente"); === Cancelamento de Movimento: Transferido === * O sistema deve impedir o cancelamento do movimento transferido, caso não exista a movimentação anterior de matrícula do aluno; * Ao realizar o cancelamento do movimento transferido, o sistema deve: * Informar ao usuário que o aluno será matriculado na turma novamente e se deseja continuar; * Excluir a movimentação do aluno na turma (tabela TabAlunosTurmas); * Excluir o aluno da ata da turma (tabela TabAlunoAta); * Excluir o documento de transferência do aluno, na escola e curso; * Criar a movimentação de cancelamento do movimento transferido, nas movimentações do aluno (tabela TabAlunoMovimentacao). A data do cancelamento será a data atual; * Após o cancelamento da movimentação de transferência, o sistema deve realizar a matrícula do aluno novamente na turma, ver item abaixo ("Persistência da matrícula anterior"); === Cancelamento de Movimentos: Avançado, Classificado e Reclassificado === * O sistema deve impedir o cancelamento dos movimentos avançado/classificado/reclassificado, caso não exista a movimentação anterior de matrícula do aluno; * O sistema não deve impedir o cancelamento caso existam notas, faltas ou desempenhos lançados, a operação deve ser realizada e as substituições de códigos de notas serão realizadas automaticamente pelo sistema; * Ao realizar o cancelamento dos movimentos avançado/classificado/reclassificado, o sistema deve: * Excluir a movimentação do aluno na turma (tabela TabAlunosTurmas); * Excluir o aluno da ata da turma, caso exista (tabela TabAlunoAta); * Criar a movimentação de cancelamento dos movimentos avançado/classificado/reclassificado, nas movimentações do aluno (tabela TabAlunoMovimentacao). A data do cancelamento será a data atual; * Após o cancelamento da movimentação de avançado/classificado/reclassificado, o sistema deve realizar a matrícula do aluno novamente na turma anterior, ver item abaixo ("Persistência da matrícula anterior"); === Cancelamento de Movimentos: Promovido e Retido === * O sistema deve impedir o cancelamento do movimento promovido e retido, caso não exista a movimentação anterior de matrícula do aluno; * Ao realizar o cancelamento dos movimentos promovido e retido, o sistema deve: * Informar ao usuário que o aluno retornará à turma novamente como cursando e se deseja continuar; * Excluir a movimentação do aluno na turma (tabela TabAlunosTurmas); * Excluir as notas "-" de todas disciplinas que não aplicam critério de aprovação (não validam notas) ou de tipo de avaliação igual a "FORMATIVA (FICHAS)", em todos os períodos letivos, na turma regular do aluno; * Criar a movimentação de cancelamento do movimento promovido/retido, nas movimentações do aluno (tabela TabAlunoMovimentacao). A data do cancelamento será a data atual; * Após o cancelamento da movimentação de promovido/retido, o sistema deve retornar o aluno novamente na turma como Cursando, ver item abaixo ("Apenas retornar ao resultado Cursando"); === Cancelamento de Movimentos: Evadido e Desistente === * O sistema deve impedir o cancelamento do movimento evadido e desistente, caso não exista a movimentação anterior de matrícula do aluno; * Ao realizar o cancelamento dos movimentos evadido e desistente, o sistema deve: * Informar ao usuário que o aluno será matriculado na turma novamente e se deseja continuar; * Excluir a movimentação do aluno na turma (tabela TabAlunosTurmas); * Excluir o aluno da ata da turma (tabela TabAlunoAta); * Criar a movimentação de cancelamento do movimento evadido/desistente, nas movimentações do aluno (tabela TabAlunoMovimentacao). A data do cancelamento será a data atual; * Após o cancelamento da movimentação de evadido/desistente, o sistema deve realizar a matrícula do aluno novamente na turma, ver item abaixo ("Persistência da matrícula anterior"); === Cancelamento de Movimento: Falecido === * O sistema deve impedir o cancelamento do movimento falecido, caso não exista a movimentação anterior de matrícula do aluno; * Ao realizar o cancelamento do movimento falecido, o sistema deve: * Informar ao usuário que o aluno será matriculado na turma novamente e se deseja continuar; * Excluir a movimentação do aluno na turma (tabela TabAlunosTurmas); * Excluir o aluno da ata da turma (tabela TabAlunoAta); * Criar a movimentação de cancelamento do movimento falecido, nas movimentações do aluno (tabela TabAlunoMovimentacao). A data do cancelamento será a data atual; * Após o cancelamento da movimentação de falecido, o sistema deve realizar a matrícula do aluno novamente na turma, ver item abaixo ("Persistência da matrícula anterior"); * Realiza o procedimento de cancelamento de movimento em turma de atividade complementar (caso possua matrícula); * Realiza o procedimento de cancelamento de movimento em turma de AEE (caso possua matrícula); === Apenas retornar ao resultado Cursando === * Quando o aluno possui os rendimentos: Promovido e Retido como movimentos, o sistema ao cancelar tais movimentos deve apenas: * Excluir os resultados Promovido/Retido das disciplinas do aluno, no cadastro de notas (tabela TabMedia); * Atualizar o resultado final do aluno como Cursando (tabela TabAluno); === Persistência da matrícula anterior === * Quando um aluno possui movimentos: de matrícula e outro movimento (Remanejamento, Avanço, Classificação, Reclassificação e/ou Transferência interna) cancelados, este aluno retorna ao movimento anterior de matrícula. Com isso, o sistema deve persistir/atualizar os dados da matrícula atual no aluno, ou seja, da turma que era anterior à matrícula cancelada; * Neste caso, o sistema deve: * Atualizar os dados da matrícula do aluno (tabela TabAluno); * Ajustar os códigos das notas e exclusão de notas não existentes na nova turma, se necessário (tabela TabNota); * Ajustar os resultados das disciplinas e consequentemente o resultado final do aluno (tabela TabMedia); * Criar a série cursada no histórico do aluno, e também o próprio histórico caso tenha sido excluído, com os dados da nova matrícula: escola, curso, série e turma; Caso o curso permita gerar históricos (tabela TabHistorico); === Persistência do movimento: Transferido === * Atualizar o resultado final do aluno e suas médias para Transferido (tabelas TabAluno e TabMedia); * Criar a série cursada no histórico do aluno, e também o próprio histórico caso tenha sido excluído, com os dados da nova matrícula: escola, curso, série e turma; Caso o curso permita gerar históricos; * Criar o documento de transferência do aluno, com base na escola e curso da matrícula do aluno (tabela TabHistorico); * Incluir o aluno na ata da turma novamente como Transferido (tabela TabAlunoAta); === Persistência do movimento: Desistente === * Atualizar o resultado final do aluno e suas médias para Desistente (tabelas TabAluno e TabMedia); * Criar a série cursada no histórico do aluno, e também o próprio histórico caso tenha sido excluído, com os dados da nova matrícula: escola, curso, série e turma; Caso o curso permita gerar históricos; * Incluir o aluno na ata da turma novamente como Desistente (tabela TabAlunoAta); ===== Observações ===== Nenhuma informação adicional. ~~DISCUSSION|Sugira mudanças, aponte falhas ou contribua de alguma forma aqui:~~