| 1 | = Requisitos para permitir a Mudança do Código da Turma = |
| 2 | Esta página documenta os requisitos a serem implementados para permitir a Mudança dos Códigos da Turma. Esta alteração visa atender a uma demanda da Fefisa, mas irá afetar todos os sistemas. |
| 3 | |
| 4 | '''Requisitos Funcionais''' |
| 5 | |
| 6 | Ao editar-se os dados da Turma, deverá se possível alterar também o campo "Código". |
| 7 | |
| 8 | * O código da turma deverá ser: |
| 9 | * Único. |
| 10 | * Palavra simples. |
| 11 | * Sem espaços. |
| 12 | * Ter no mínimo 3 caracteres. Caracteres aceitos: maiúsculas, números e o símbolo _. |
| 13 | |
| 14 | Quando o usuário clicar em salvar o sistema deverá verificar se o código da Turma mudou. Caso afirmativo, os seguintes passos deverão ser realizados: |
| 15 | |
| 16 | 1. Verificar se o código atende aos critérios acima estabelecidos. |
| 17 | 1. Converter os caracteres para maiúsculos. |
| 18 | 1. Garantir que o código informado não está atribuído a outra turma. |
| 19 | 1. Se o código já existir, salvar os demais campos e emitir uma mensagem de erro para o Código da Turma. |
| 20 | 1. Salvar na tabela turma_codigo_historico os seguintes valores: Timestamp, ID_Agente, ID_Turma, Codigo_Antigo, Codigo_Novo, IP_Origem. |
| 21 | 1. |
| 22 | |
| 23 | |
| 24 | |
| 25 | == Banco de Dados == |
| 26 | Criar a seguinte tabela: |
| 27 | |
| 28 | {{{ |
| 29 | CREATE TABLE `turma_codigo_historico` ( |
| 30 | `TimeStamp` timestamp NOT NULL DEFAULT NOW(), |
| 31 | `ID_Agente` int(11) NOT NULL, |
| 32 | `ID_Turma` int(11) NOT NULL, |
| 33 | `Codigo_Antigo` varchar(20) NOT NULL, |
| 34 | `Codigo_Novo` varchar(20) NOT NULL, |
| 35 | `IP_Origem` int(11) NOT NULL UNSIGNED |
| 36 | KEY `idx__turma_codigo_historico__Codigo_Antigo` (`Codigo_Antigo`), |
| 37 | KEY `idx__turma_codigo_historico__Codigo_Novo` (`Codigo_Novo`), |
| 38 | CONSTRAINT `fk__turma_codigo_historico__tagente__ID_Agente` FOREIGN KEY (`ID_Agente`) REFERENCES `tagente` (`ID_Agente`), |
| 39 | CONSTRAINT `fk__turma_codigo_historico__tturma__ID_Turma` FOREIGN KEY (`ID_Turma`) REFERENCES `tturma` (`ID_Turma`), |
| 40 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; |
| 41 | }}} |