Issue #42
Problema na inserção de novas matrículas de alunos de mesma matrícula em cursos diferentes no SAE
A solicitação de matrícula de alunos no curso de Java web para SAE não está realizando o processo convencional que o professor aceita ou rejeita as solicitações de Alunos. Quando um aluno é aceito pelo professor o processo está sendo realizado de maneira parcial, pois o aluno aceito em curso diferente ao que ele já faz com acompanhamento do SAE, mas em uma nova disciplina (Programação Java web para SAE) não o inclui como aluno na turma do curso.
O exemplo seria um aluno que faz o curso de Engenharia de Software na FGA e já cursou alguma disciplina que usa o SAE, quando solicita a matrícula no outro curso chamado UnB - Cursos de Extensão e usa a mesma matrícula do curso de Engenharia de Software o SAE não incluí o estudante como aluno da turma. É necessário que você primeiro crie ao menos uma aluno nesta situação em seu computador e investigue o que está acontecendo de problema. Segue uma arquivo em anexo que corresponde a um script que ajusta a base de dados do SAE para aceitar alunos de cursos diferentes com matrículas iguais como alunos, mas depois desse ajuste na tabela maiorAluno ainda continua existindo algum problema que impede o processo do professor aceitar o estudante na situação explicada acima se torne um aluno da turma (será apresentado o estudante quando o professor navegar nas opções do SAE Acadêmico >> Turma >> Visualizar (ícone azul do olhinho na frente das turmas apresentadas).
===== ATIVIDADE ==========
Expectativa de Conclusão: 08/02/2017
Prioridade: Maior
Situação: AGUARDANDO
=========================================
Crie uma simulação em seu SAE local para ficar mais fácil você reproduzir o erro explicado acima.
-
Status changed to closed
-
Reassigned to @kelvin705
-
Status changed to reopened
-
Conforme esclarecido em mail encaminhado ao Kelvin, estou lhe encaminhando a issue que originou a detecção do problema relativo a mudança da Unique na tabela maiorAluno do SAE que tem que garantir que um aluno seja único somente se matricula e o código curso formarem uma chave candidata composta entre os dois atributos que estão presentes nas tabelas maiorAluno e maiorTurma_Aluno . Nesta última tabela indicada deverá ser implementada uma chave estrangeira (FK) com a tabela maiorAluno que já tem a unique (matricula, codigoCurso - confirma na tabela se a composição dessa chave candidata (unique) está criada como matricula, codigoCurso ou o inverso codigoCurso, matricula para ser implementada corretamente na FK de maiorTurma_Aluno).
===== ATIVIDADE ==========
Expectativa de Conclusão: 29/10/2017
Prioridade: Maior
Situação: AGUARDANDO
=========================================
Segue abaixo a cópia parcial do mail que reencaminha para você a análise e implementação dessa importante mudança no SAE.
Realmente havia me esquecido disse e pedi para ele não fazer (ou refazer) de novo porque estava acertando com a FAPDF a inclusão de vocês como prestadores. Como acredito que você tenha compreendido o que deve ser efetuado vou lhe reencaminhar a issue no Git que começou esse trabalho de investigação para o problema de alunos não serem registrados no SAE quando tinham a mesma matrícula, mas estavam em cursos diferentes.
Peço que implemente na aplicação o tratamento da de não ser mais a unique da tabela maiorAluno somente do atributo matricula e sim da matricula composta com codigoCurso. Lembro que seu banco de dados local já tem essa unique implementada, mas a aplicação está sem tal implementação. Verifique qual ação (ou ações) específicas tratam dessa situação de armazenamento e implementação e altere para nova regra que deve respeitar que é possível que um aluno seja cadastrado no SAE se a matrícula for igual (ou diferente), mas o codigoCurso ser diferente. É importante você também ter consciência de que um mesmo aluno também pode estar no mesmo curso, porém com matrículas diferentes. Isso acontece quando o aluno jubila no curso e faz vestibular de novo. Ele sendo aprovado no vestibular ele estará no mesmo curso com uma nova matrícula.
O importante que gerará reflexões no SAE que precisa ser corrigido e atualizado pela aplicação é a regra em que o sistema tinha antes como único a matrícula como regra de negócio que garantia ou não um novo aluno no sistema. Essa regra passa ser alterada e deve incluir em todos os testes relativos a garantir essa unicidade a matrícula e o código curso.
Se tiver dúvidas ou outras dificuldades eu peço que marquemos nossa conversa pelo Appear também na sexta-feira. Ressalto que uma vez corrigida a aplicação a tabela maiorTurma_Aluno implementará uma constraint de FK que respeitará a unique da tabela maiorAluno. Com isso o processo de solicitação no SAE fica completamente fechado novamente, ou seja, só registra um aluno na tabela maiorTurma_Aluno se existir um registro na tabela maiorAluno que confere uma matrícula e código curso (chave composta) válidos.
Creio que com você refazendo esta implementação perdida pelo aluno poderemos fechar o principal de sua alteração na tabela maiorTurma_Aluno e abrir para os correções dos demais prestadores para fecharem também a pendência deles.
-
A servidora SAEDES está com a base de dados ajustada para testar esta constraint. Porém, você deve corrigir os parâmetros para implementar esta restrição de integridade referencial completamente e não como está definido para ser o padrão em sua base de dados.
Na implementação de sua base local então implemente a constraint abaixo:
ALTER TABLE maiorTurma_Aluno ADD CONSTRAINT maiorTurma_Aluno_maiorAluno_FK FOREIGN KEY (matricula, codigoCurso) REFERENCES maiorAluno (matricula, codigoCurso) ON DELETE RESTRICT ON UPDATE RESTRICT;
-
===== ATIVIDADE ==========
Expectativa de Conclusão: 29/08/2017 ==> 14/11/2017
Prioridade: Maior
Situação: CONCLUÍDA
=========================================
-
Status changed to closed