====== Especificação Funcional: Dependente ====== ===== Resumo ===== Este módulo tem por objetivo realizar as operações básicas do dependente: listar, cadastrar, editar, excluir e visualizar. ===== Descrição ===== Através dessa funcionalidade o usuário, desde que possua permissão para isso, poderá realizar as operações disponíveis para os dependentes no sistema. Os dependentes são necessários no processo de inclusão de uma nova pré-matrícula. === Dados do dependente === |**Campo**|**Descrição**|**Tipo**|**Obrigatório**|**Tamanho**| |Nome|Nome completo do dependente|String| Sim |100| |CPF|CPF do dependente|String|Sim| | |Data de nascimento|Data de nascimento do dependente|DateTime|Sim| | |Naturalidade|Naturalidade do dependente|String|Sim| 60 | |Sexo|Sexo do dependente|Enum|Sim| | |Cor/Raça|Cor/Raça do dependente|Enum|Sim| | |Portador de necessidades especiais|Informar se o dependente possui ou não necessidades especiais|Bool|Sim| | |Descrição das necessidades especiais|Descrição das necessidades especiais|String|Nao| 200 | |Nome da mãe|Nome completo da mãe do dependente|String|Sim| 100 | |Nome do pai|Nome completo do pai do dependente|String|Não| 100 | |Nome do responsável|Identificar o do dependente|String|Sim| 100 | |Endereço|Endereço do dependente|String|Sim| 200| |Número|Número|String|Sim| 10 | |Bairro|Bairro|String|Sim| 200 | |Município|Município|String|Sim| 100 | |CEP|CEP|String|Sim|9 | |Possui irmão na escola|Possui irmão na escola|Bool|Sim| | |Reside no município|Reside no município|Bool|Sim| | |Matriculado na rede|Matriculado na rede|Bool|Sim| | |Recebe bolsa família|Recebe bolsa família|Bool|Sim| | |Zona de residência|Zona de residência|Enum|Sim| | |Resultado do ano anterior|Resultado do ano anterior|Enum|Sim| | |Escola de origem|Escola de origem|String|Não| | |Observações|Observações|String|Não| | === Modelo da Tela === {{:softwares:schoolweb:requisitos:prematricula:dependentes:incluirdependente.png|}} ===== Lista ===== Ao entrar no Acompanhamento dos Dependentes, o usuário irá ver a lista dos dependentes que o mesmo cadastrou. {{:softwares:schoolweb:requisitos:prematricula:dependentes:listadependentes.png|}} Nessa tela o usuário poderá incluir um dependente acionando o botão "Incluir dependente", no qual será direcionado para o formulário de inclusão de dependente. Além disso, cada registro da lista possui os botões "Editar", "Detalhes" e "Excluir" que quando acionados encaminhará o usuário a opção desejada. Também é possível retornar ao Acompanhamento de Pré-matrículas acionar o botão "Voltar" no fim da página. ===== Inclusão ===== O usuário tem acesso a esta funcionalidade a partir da tela de dependentes, no qual existe um botão "Incluir dependente", que quando acionado o usuário é redirecionado para a tela de cadastro de dependente. O sistema, então, exibirá os campos conforme a tabela “Dados do Dependente”. O cursor será posicionado no campo destinado ao Nome, então, o usuário poderá alternar entre os campos pressionando a tecla Tab (para avançar entre os campos) e a combinação de teclas Shift + Tab (para voltar entre os campos). Caso o responsável tenha informado o endereço no momento de seu cadastro, os campos relativos a endereço serão preenchidos. O usuário deverá preencher todos os campos obrigatórios e o sistema deverá verificar se os dados de todos os campos são válidos e se todos os campos obrigatórios foram preenchidos. Para cada campo obrigatório não preenchido o sistema deverá exibir uma mensagem de alerta informando que aquele campo deve ser preenchido. Após o usuário acionar o comando para salvar o dependente, algumas validações são feitas: * O CPF informado não pode estar cadastrado; * A data de nascimento deve ser válida; * O tamanho e a obrigatoriedade dos campos deve ser respeitada. Após o sistema salvar os dados do dependente no banco de dados, efetivando a inclusão, o usuário será direcionado para a tela de Acompanhamento de Dependentes. Caso haja algum problema na comunicação interna entre os microssistemas do módulo (sistema) Pré-matrícula ou entre esses e outros sistemas externos, a tela de inclusão deverá ser exibida (tendo os mesmos dados fornecidos pelo usuário) com uma mensagem de alerta no início da tela informando que houve um problema de comunicação e orientando o usuário a tentar salvar os dados novamente. ==== Buscar dependente ==== Essa funcionalidade permite ao responsável buscar o dependente com base no seu nome ou CPF. {{:softwares:schoolweb:requisitos:prematricula:dependentes:buscardependente.png|}} Ao informar o nome, o sistema irá buscar na base de dados do School Web todos os alunos que contém o nome informado no campo de busca. O sistema é limitado a trazer apenas 20 resultados, para evitar uma grande quantidade de registros e lentidão na busca. Ao informar o CPF, o sistema irá buscar na base de dados do School Web o aluno que possua o CPF informado. O sistema é limitado a trazer somente 1 resultado. Nos períodos de transferência interna e rematrícula somente os alunos matriculados são retornados na pesquisa, já no período de pré-matrícula todos os alunos podem ser encontrados, inclusive os não matriculados. Ao selecionar um resultado, o sistema irá preencher os dados do formulário de acordo com o que foi encontrado na pesquisa feita, caso algum campo não possua dados, o mesmo campo não será preenchido no formulário. Além disso, caso os campos relativos ao endereço estejam preenchidos, o sistema não irá sobrescreve-los. O sistema também irá gravar o IdBanco e o CodigoAluno quando um registro for selecionado, isso para permitir identificar o aluno no momento da rematricula ou transferência interna. === Nomes duplicados === Podem existir alunos com o mesmo nome cadastrados em bancos de dados diferentes, com isso, existe a possibilidade de aparecer o mesmo aluno mais de uma vez na lista de alunos. Para evitar isso foram definidas algumas regras para quando existir mais de um aluno: * É considerado o nome e a data de nascimento do aluno para considerá-lo repetido; * Se houver um aluno com código turma preenchido e outro não será priorizado o aluno com o código turma preenchido; * Se nenhum dos alunos possuir código turma será priorizado o aluno cadastrado por último; * Se existir mais de um aluno com código da turma preenchido será priorizado o aluno que está com o último movimento como matriculado; ===== Visualização ===== O usuário tem acesso a esta funcionalidade a partir da tela de Acompanhamento de Dependentes, ao acionar o botão "Detalhes" no dependente desejado. O sistema, então, exibirá os campos conforme a tabela “Dados do Dependente”. Estando na tela de visualização dos dados do responsável, o usuário poderá acessar a tela para alteração dos dados, acionando o botão “Editar”, ou voltar a tela Acompanhamento de Dependentes, acionando o botão “Voltar”. ===== Alteração ===== O usuário tem acesso a esta funcionalidade a partir da tela de visualização dos dados do dependente acionando o botão “Editar” ou partir da lista de dependentes. O sistema, então, exibirá os campos conforme a tabela “Dados do Dependente” e contendo os dados do dependente. Para desistir da alteração dos dados, o usuário poderá acionar o botão “Voltar” e será direcionado para a tela Acompanhamento de Dependentes. Após o usuário acionar o comando para salvar os dados do dependente, através do botão “Salvar”, o sistema deverá verificar se os dados de todos os campos são válidos e se todos os campos obrigatórios foram preenchidos. Para cada campo obrigatório não preenchido o sistema deverá exibir uma mensagem de alerta informando que aquele campo deve ser preenchido. Após o sistema salvar os dados do dependente no banco de dados, efetivando a alteração no cadastro do responsável, o usuário será direcionado para a tela Acompanhamento de Dependentes. ===== Exclusão ===== Ao selecionar um registro na lista de dependentes e acionar a opção "Excluir", será apresentada uma mensagem ao usuário questionando se o mesmo tem certeza que deseja realizar essa operação. Caso tenha, o dependente será excluído e todas as pré-matrículas cadastradas para o dependente também serão excluídas. Após o fim do processo, a lista de dependentes será recarregada e não irá exibir o dependente excluído.