Tela principal | Cadastro de Pessoas | Consulta de pessoas | Cadastro de Vacinas | Consulta de Vacinas | Cadastro de Aplicações | Consulta de Aplicações | Regras de Negócio | Como Rodar
Autores: Rafael Krieger, Gustavo Martins, Altieste Schmidt
- Painel inicial com dashboard de resumos de relatórios
- Ao entrar com CPF, pesquisa se já existe registro e permite atualizar cadastro
- Campo "Instituição" só aparece caso o checkbox "Pesquisador" esteja selecionado
- Combo Box via banco de dados para selecionar estágio e pesquisador
- Combo Box via array Java para selecionar país de origem
- Regra de negócio de aplicação da vacina conforme a fase é verificada na seleção do Combo Box
- Combo Box via banco de dados para selecionar vacina e pessoa
- Combo Box via array Java para selecionar avaliação
-
Uma vacina pode ser aplicada em pessoas conforme a fase: 1 - Somente pesquisadores; 2 - Voluntários; 3 - Público em geral.
-
Cada pessoa pode tomar apenas uma vacina por ano
-
Todas as pessoas devem possuir CPF válido com 11 caracteres numéricos (OK)
-
Todas as pessoas devem possuir nome e um sobrenome com pelo menos três caracteres (OK)
-
Não podem ser cadastradas duas pessoas com o mesmo CPF
# Clone o Repositório
> https://github.com/rafakrieger/senac-dd-2020-2-rafaelkrieger.git
# Em sua IDE converta o projeto para Maven
# OU baixe e execute o arquivo JAR:
> https://github.com/rafakrieger/senac-dd-2020-2-rafaelkrieger/blob/master/VACINAS_Altieste_Gustavo_Rafael.jar
Em seu MySQL rode este script abaixo:
SET SQL_SAFE_UPDATES = 0;
DROP DATABASE IF EXISTS DBVACINA;
CREATE DATABASE DBVACINA;
USE DBVACINA;
CREATE TABLE PESSOA (
IDPESSOA INT NOT NULL AUTO_INCREMENT
, NOME VARCHAR (100) NOT NULL
, DT_NASCIMENTO DATE
, SEXO ENUM ('M', 'F')
, CPF VARCHAR (11)
, VOLUNTARIO BOOLEAN
, PRIMARY KEY (IDPESSOA)
);
CREATE TABLE PESQUISADOR (
IDPESQUISADOR INT NOT NULL AUTO_INCREMENT
, NOME VARCHAR (100)
, IDPESSOA INT
, INSTITUICAO VARCHAR (256)
, PRIMARY KEY (IDPESQUISADOR)
);
CREATE TABLE VACINA (
IDVACINA INT NOT NULL AUTO_INCREMENT
, IDPESQUISADOR INT NOT NULL
, PAIS_ORIGEM VARCHAR(45)
, ESTAGIO_PESQUISA ENUM ('1', '2', '3')
, DT_INICIO DATE
, PRIMARY KEY (IDVACINA)
, FOREIGN KEY (IDPESQUISADOR) REFERENCES PESQUISADOR (IDPESQUISADOR)
);
CREATE TABLE VACINACAO (
IDVACINACAO INT NOT NULL AUTO_INCREMENT
, IDVACINA INT NOT NULL
, IDPESSOA INT NOT NULL
, DT_VACINACAO DATE
, AVALIACAO ENUM ('1', '2', '3', '4', '5')
, PRIMARY KEY (IDVACINACAO)
, FOREIGN KEY (IDVACINA) REFERENCES VACINA (IDVACINA)
, FOREIGN KEY (IDPESSOA) REFERENCES PESSOA (IDPESSOA)
);
INSERT INTO PESSOA VALUES (1, "Diego Armando Maradona", '1960-10-30', "M", "02134567890", 1);
INSERT INTO PESSOA VALUES (2, "Romário de Souza Faria", '1966-01-29', "M", "03134567880", 0);
INSERT INTO PESSOA VALUES (3, "Marta Vieira da Silva", '1986-02-19', "F", "00558234306", 1);
INSERT INTO PESSOA VALUES (4, "Edmundo Alves de Souza", '1971-04-02', "M", "55134767880", 0);
INSERT INTO PESSOA VALUES (5, "Cristiane de Souza Silva", '1985-05-15', "F", "99134767880", 1);
INSERT INTO PESSOA VALUES (6, "Antônio Reis Júnior", '1975-01-30', "M", "19982000304", 1);
INSERT INTO PESSOA VALUES (7, "Hannibal Lecter", '1960-10-30', "M", "00100200304", 0);
INSERT INTO PESSOA VALUES (8, "Ivo Pitanguy", '1960-10-30', "M", "00100200304", 0);
INSERT INTO PESQUISADOR VALUES (1, "Antônio Reis Júnior", 6, "Fiocruz");
INSERT INTO PESQUISADOR VALUES (2, "Hannibal Lecter", 7, "Harvard");
INSERT INTO PESQUISADOR VALUES (3, "Ivo Pitanguy", 8, "USP");
INSERT INTO VACINA VALUES (1, 1, "Brasil", 1, '2020-08-31');
INSERT INTO VACINA VALUES (2, 1, "França", 2, '2020-09-15');
INSERT INTO VACINA VALUES (3, 2, "China", 3, '2020-06-05');
INSERT INTO VACINA VALUES (4, 2, "Rússia", 1, '2020-07-20');
INSERT INTO VACINA VALUES (5, 3, "EUA", 2, '2020-10-23');
INSERT INTO VACINACAO VALUES (1, 1, 6, '2020-10-12', 4);
INSERT INTO VACINACAO VALUES (2, 2, 1, '2020-10-10', 3);
INSERT INTO VACINACAO VALUES (3, 3, 2, '2020-11-19', 4);
INSERT INTO VACINACAO VALUES (4, 3, 4, '2020-09-02', 3);
INSERT INTO VACINACAO VALUES (5, 4, 7, '2020-08-18', 3);
INSERT INTO VACINACAO VALUES (6, 5, 5, '2020-12-01', 4);
INSERT INTO VACINACAO VALUES (7, 5, 3, '2020-11-02', 5);