diff --git a/backend/.gitignore b/backend/.gitignore index 549e00a..0fc0561 100644 --- a/backend/.gitignore +++ b/backend/.gitignore @@ -1,5 +1,6 @@ HELP.md target/ +/.idea !.mvn/wrapper/maven-wrapper.jar !**/src/main/**/target/ !**/src/test/**/target/ diff --git a/backend/src/main/java/com/senac/gestaocurso/dto/AulaDto.java b/backend/src/main/java/com/senac/gestaocurso/dto/AulaDto.java new file mode 100644 index 0000000..656a0fd --- /dev/null +++ b/backend/src/main/java/com/senac/gestaocurso/dto/AulaDto.java @@ -0,0 +1,45 @@ +package com.senac.gestaocurso.dto; + +import java.io.Serializable; +import java.time.LocalDate; +import java.util.Objects; + + +public class AulaDto implements Serializable { + private final Long id; + private final LocalDate dia; + + public AulaDto(Long id, LocalDate dia) { + this.id = id; + this.dia = dia; + } + + public Long getId() { + return id; + } + + public LocalDate getDia() { + return dia; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + AulaDto entity = (AulaDto) o; + return Objects.equals(this.id, entity.id) && + Objects.equals(this.dia, entity.dia); + } + + @Override + public int hashCode() { + return Objects.hash(id, dia); + } + + @Override + public String toString() { + return getClass().getSimpleName() + "(" + + "id = " + id + ", " + + "dia = " + dia + ")"; + } +} \ No newline at end of file diff --git a/backend/src/main/java/com/senac/gestaocurso/dto/AvaliacaoDto.java b/backend/src/main/java/com/senac/gestaocurso/dto/AvaliacaoDto.java new file mode 100644 index 0000000..6df052b --- /dev/null +++ b/backend/src/main/java/com/senac/gestaocurso/dto/AvaliacaoDto.java @@ -0,0 +1,61 @@ +package com.senac.gestaocurso.dto; + +import java.io.Serializable; +import java.time.LocalDate; +import java.util.Objects; + + +public class AvaliacaoDto implements Serializable { + private final Long id; + private final String nome; + private final Integer nota; + private final LocalDate data; + + public AvaliacaoDto(Long id, String nome, Integer nota, LocalDate data) { + this.id = id; + this.nome = nome; + this.nota = nota; + this.data = data; + } + + public Long getId() { + return id; + } + + public String getNome() { + return nome; + } + + public Integer getNota() { + return nota; + } + + public LocalDate getData() { + return data; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + AvaliacaoDto entity = (AvaliacaoDto) o; + return Objects.equals(this.id, entity.id) && + Objects.equals(this.nome, entity.nome) && + Objects.equals(this.nota, entity.nota) && + Objects.equals(this.data, entity.data); + } + + @Override + public int hashCode() { + return Objects.hash(id, nome, nota, data); + } + + @Override + public String toString() { + return getClass().getSimpleName() + "(" + + "id = " + id + ", " + + "nome = " + nome + ", " + + "nota = " + nota + ", " + + "data = " + data + ")"; + } +} \ No newline at end of file diff --git a/backend/src/main/java/com/senac/gestaocurso/dto/CargoDto.java b/backend/src/main/java/com/senac/gestaocurso/dto/CargoDto.java new file mode 100644 index 0000000..9027b32 --- /dev/null +++ b/backend/src/main/java/com/senac/gestaocurso/dto/CargoDto.java @@ -0,0 +1,60 @@ +package com.senac.gestaocurso.dto; + +import java.io.Serializable; +import java.util.Objects; + + +public class CargoDto implements Serializable { + private final Long id; + private final String descricao; + private final String nivel; + private final Boolean comissionado; + + public CargoDto(Long id, String descricao, String nivel, Boolean comissionado) { + this.id = id; + this.descricao = descricao; + this.nivel = nivel; + this.comissionado = comissionado; + } + + public Long getId() { + return id; + } + + public String getDescricao() { + return descricao; + } + + public String getNivel() { + return nivel; + } + + public Boolean getComissionado() { + return comissionado; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + CargoDto entity = (CargoDto) o; + return Objects.equals(this.id, entity.id) && + Objects.equals(this.descricao, entity.descricao) && + Objects.equals(this.nivel, entity.nivel) && + Objects.equals(this.comissionado, entity.comissionado); + } + + @Override + public int hashCode() { + return Objects.hash(id, descricao, nivel, comissionado); + } + + @Override + public String toString() { + return getClass().getSimpleName() + "(" + + "id = " + id + ", " + + "descricao = " + descricao + ", " + + "nivel = " + nivel + ", " + + "comissionado = " + comissionado + ")"; + } +} \ No newline at end of file diff --git a/backend/src/main/java/com/senac/gestaocurso/dto/CertificacoesDto.java b/backend/src/main/java/com/senac/gestaocurso/dto/CertificacoesDto.java new file mode 100644 index 0000000..0af1614 --- /dev/null +++ b/backend/src/main/java/com/senac/gestaocurso/dto/CertificacoesDto.java @@ -0,0 +1,61 @@ +package com.senac.gestaocurso.dto; + +import java.io.Serializable; +import java.time.LocalDate; +import java.util.Objects; + + +public class CertificacoesDto implements Serializable { + private final Long id; + private final String nome; + private final Integer cargaHoraria; + private final LocalDate dataEmissao; + + public CertificacoesDto(Long id, String nome, Integer cargaHoraria, LocalDate dataEmissao) { + this.id = id; + this.nome = nome; + this.cargaHoraria = cargaHoraria; + this.dataEmissao = dataEmissao; + } + + public Long getId() { + return id; + } + + public String getNome() { + return nome; + } + + public Integer getCargaHoraria() { + return cargaHoraria; + } + + public LocalDate getDataEmissao() { + return dataEmissao; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + CertificacoesDto entity = (CertificacoesDto) o; + return Objects.equals(this.id, entity.id) && + Objects.equals(this.nome, entity.nome) && + Objects.equals(this.cargaHoraria, entity.cargaHoraria) && + Objects.equals(this.dataEmissao, entity.dataEmissao); + } + + @Override + public int hashCode() { + return Objects.hash(id, nome, cargaHoraria, dataEmissao); + } + + @Override + public String toString() { + return getClass().getSimpleName() + "(" + + "id = " + id + ", " + + "nome = " + nome + ", " + + "cargaHoraria = " + cargaHoraria + ", " + + "dataEmissao = " + dataEmissao + ")"; + } +} \ No newline at end of file diff --git a/backend/src/main/java/com/senac/gestaocurso/dto/CursoDto.java b/backend/src/main/java/com/senac/gestaocurso/dto/CursoDto.java new file mode 100644 index 0000000..52b1096 --- /dev/null +++ b/backend/src/main/java/com/senac/gestaocurso/dto/CursoDto.java @@ -0,0 +1,52 @@ +package com.senac.gestaocurso.dto; + +import java.io.Serializable; +import java.util.Objects; + + +public class CursoDto implements Serializable { + private final String nome; + private final String descricao; + private final Integer cargaHorariaTotal; + + public CursoDto(String nome, String descricao, Integer cargaHorariaTotal) { + this.nome = nome; + this.descricao = descricao; + this.cargaHorariaTotal = cargaHorariaTotal; + } + + public String getNome() { + return nome; + } + + public String getDescricao() { + return descricao; + } + + public Integer getCargaHorariaTotal() { + return cargaHorariaTotal; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + CursoDto entity = (CursoDto) o; + return Objects.equals(this.nome, entity.nome) && + Objects.equals(this.descricao, entity.descricao) && + Objects.equals(this.cargaHorariaTotal, entity.cargaHorariaTotal); + } + + @Override + public int hashCode() { + return Objects.hash(nome, descricao, cargaHorariaTotal); + } + + @Override + public String toString() { + return getClass().getSimpleName() + "(" + + "nome = " + nome + ", " + + "descricao = " + descricao + ", " + + "cargaHorariaTotal = " + cargaHorariaTotal + ")"; + } +} \ No newline at end of file diff --git a/backend/src/main/java/com/senac/gestaocurso/dto/DadosBancariosDto.java b/backend/src/main/java/com/senac/gestaocurso/dto/DadosBancariosDto.java new file mode 100644 index 0000000..86e58eb --- /dev/null +++ b/backend/src/main/java/com/senac/gestaocurso/dto/DadosBancariosDto.java @@ -0,0 +1,62 @@ +package com.senac.gestaocurso.dto; + +import com.senac.gestaocurso.enums.TipoContaBancaria; + +import java.io.Serializable; +import java.util.Objects; + + +public class DadosBancariosDto implements Serializable { + private final String banco; + private final String agencia; + private final String conta; + private final TipoContaBancaria tipoContaBancaria; + + public DadosBancariosDto(String banco, String agencia, String conta, TipoContaBancaria tipoContaBancaria) { + this.banco = banco; + this.agencia = agencia; + this.conta = conta; + this.tipoContaBancaria = tipoContaBancaria; + } + + public String getBanco() { + return banco; + } + + public String getAgencia() { + return agencia; + } + + public String getConta() { + return conta; + } + + public TipoContaBancaria getTipoContaBancaria() { + return tipoContaBancaria; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + DadosBancariosDto entity = (DadosBancariosDto) o; + return Objects.equals(this.banco, entity.banco) && + Objects.equals(this.agencia, entity.agencia) && + Objects.equals(this.conta, entity.conta) && + Objects.equals(this.tipoContaBancaria, entity.tipoContaBancaria); + } + + @Override + public int hashCode() { + return Objects.hash(banco, agencia, conta, tipoContaBancaria); + } + + @Override + public String toString() { + return getClass().getSimpleName() + "(" + + "banco = " + banco + ", " + + "agencia = " + agencia + ", " + + "conta = " + conta + ", " + + "tipoContaBancaria = " + tipoContaBancaria + ")"; + } +} \ No newline at end of file diff --git a/backend/src/main/java/com/senac/gestaocurso/dto/DependentesDto.java b/backend/src/main/java/com/senac/gestaocurso/dto/DependentesDto.java new file mode 100644 index 0000000..30ab772 --- /dev/null +++ b/backend/src/main/java/com/senac/gestaocurso/dto/DependentesDto.java @@ -0,0 +1,55 @@ +package com.senac.gestaocurso.dto; + +import com.senac.gestaocurso.enums.Escolaridade; + +import java.io.Serializable; +import java.time.LocalDate; +import java.util.Objects; + + +public class DependentesDto implements Serializable { + private final String nome; + private final Escolaridade escolaridade; + private final LocalDate dataNasc; + + public DependentesDto(String nome, Escolaridade escolaridade, LocalDate dataNasc) { + this.nome = nome; + this.escolaridade = escolaridade; + this.dataNasc = dataNasc; + } + + public String getNome() { + return nome; + } + + public Escolaridade getEscolaridade() { + return escolaridade; + } + + public LocalDate getDataNasc() { + return dataNasc; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + DependentesDto entity = (DependentesDto) o; + return Objects.equals(this.nome, entity.nome) && + Objects.equals(this.escolaridade, entity.escolaridade) && + Objects.equals(this.dataNasc, entity.dataNasc); + } + + @Override + public int hashCode() { + return Objects.hash(nome, escolaridade, dataNasc); + } + + @Override + public String toString() { + return getClass().getSimpleName() + "(" + + "nome = " + nome + ", " + + "escolaridade = " + escolaridade + ", " + + "dataNasc = " + dataNasc + ")"; + } +} \ No newline at end of file diff --git a/backend/src/main/java/com/senac/gestaocurso/dto/ExpAnteriorDto.java b/backend/src/main/java/com/senac/gestaocurso/dto/ExpAnteriorDto.java new file mode 100644 index 0000000..25d7c3a --- /dev/null +++ b/backend/src/main/java/com/senac/gestaocurso/dto/ExpAnteriorDto.java @@ -0,0 +1,61 @@ +package com.senac.gestaocurso.dto; + +import java.io.Serializable; +import java.time.LocalDate; +import java.util.Objects; + + +public class ExpAnteriorDto implements Serializable { + private final Long id; + private final String descricao; + private final LocalDate periodoFinal; + private final LocalDate periodoInicial; + + public ExpAnteriorDto(Long id, String descricao, LocalDate periodoFinal, LocalDate periodoInicial) { + this.id = id; + this.descricao = descricao; + this.periodoFinal = periodoFinal; + this.periodoInicial = periodoInicial; + } + + public Long getId() { + return id; + } + + public String getDescricao() { + return descricao; + } + + public LocalDate getPeriodoFinal() { + return periodoFinal; + } + + public LocalDate getPeriodoInicial() { + return periodoInicial; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + ExpAnteriorDto entity = (ExpAnteriorDto) o; + return Objects.equals(this.id, entity.id) && + Objects.equals(this.descricao, entity.descricao) && + Objects.equals(this.periodoFinal, entity.periodoFinal) && + Objects.equals(this.periodoInicial, entity.periodoInicial); + } + + @Override + public int hashCode() { + return Objects.hash(id, descricao, periodoFinal, periodoInicial); + } + + @Override + public String toString() { + return getClass().getSimpleName() + "(" + + "id = " + id + ", " + + "descricao = " + descricao + ", " + + "periodoFinal = " + periodoFinal + ", " + + "periodoInicial = " + periodoInicial + ")"; + } +} \ No newline at end of file diff --git a/backend/src/main/java/com/senac/gestaocurso/dto/FeedbackDto.java b/backend/src/main/java/com/senac/gestaocurso/dto/FeedbackDto.java new file mode 100644 index 0000000..b101939 --- /dev/null +++ b/backend/src/main/java/com/senac/gestaocurso/dto/FeedbackDto.java @@ -0,0 +1,53 @@ +package com.senac.gestaocurso.dto; + +import java.io.Serializable; +import java.time.LocalDate; +import java.util.Objects; + + +public class FeedbackDto implements Serializable { + private final String feedback; + private final Integer nota; + private final LocalDate data; + + public FeedbackDto(String feedback, Integer nota, LocalDate data) { + this.feedback = feedback; + this.nota = nota; + this.data = data; + } + + public String getFeedback() { + return feedback; + } + + public Integer getNota() { + return nota; + } + + public LocalDate getData() { + return data; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + FeedbackDto entity = (FeedbackDto) o; + return Objects.equals(this.feedback, entity.feedback) && + Objects.equals(this.nota, entity.nota) && + Objects.equals(this.data, entity.data); + } + + @Override + public int hashCode() { + return Objects.hash(feedback, nota, data); + } + + @Override + public String toString() { + return getClass().getSimpleName() + "(" + + "feedback = " + feedback + ", " + + "nota = " + nota + ", " + + "data = " + data + ")"; + } +} \ No newline at end of file diff --git a/backend/src/main/java/com/senac/gestaocurso/dto/FiliacaoDto.java b/backend/src/main/java/com/senac/gestaocurso/dto/FiliacaoDto.java new file mode 100644 index 0000000..1feda0f --- /dev/null +++ b/backend/src/main/java/com/senac/gestaocurso/dto/FiliacaoDto.java @@ -0,0 +1,60 @@ +package com.senac.gestaocurso.dto; + +import java.io.Serializable; +import java.util.Objects; + + +public class FiliacaoDto implements Serializable { + private final String nomePai; + private final String telefonePai; + private final String nomeMae; + private final String telefoneMae; + + public FiliacaoDto(String nomePai, String telefonePai, String nomeMae, String telefoneMae) { + this.nomePai = nomePai; + this.telefonePai = telefonePai; + this.nomeMae = nomeMae; + this.telefoneMae = telefoneMae; + } + + public String getNomePai() { + return nomePai; + } + + public String getTelefonePai() { + return telefonePai; + } + + public String getNomeMae() { + return nomeMae; + } + + public String getTelefoneMae() { + return telefoneMae; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + FiliacaoDto entity = (FiliacaoDto) o; + return Objects.equals(this.nomePai, entity.nomePai) && + Objects.equals(this.telefonePai, entity.telefonePai) && + Objects.equals(this.nomeMae, entity.nomeMae) && + Objects.equals(this.telefoneMae, entity.telefoneMae); + } + + @Override + public int hashCode() { + return Objects.hash(nomePai, telefonePai, nomeMae, telefoneMae); + } + + @Override + public String toString() { + return getClass().getSimpleName() + "(" + + "nomePai = " + nomePai + ", " + + "telefonePai = " + telefonePai + ", " + + "nomeMae = " + nomeMae + ", " + + "telefoneMae = " + telefoneMae + ")"; + } +} \ No newline at end of file diff --git a/backend/src/main/java/com/senac/gestaocurso/dto/FuncionarioDto.java b/backend/src/main/java/com/senac/gestaocurso/dto/FuncionarioDto.java new file mode 100644 index 0000000..83db047 --- /dev/null +++ b/backend/src/main/java/com/senac/gestaocurso/dto/FuncionarioDto.java @@ -0,0 +1,76 @@ +package com.senac.gestaocurso.dto; + +import java.io.Serializable; +import java.util.Objects; + + +public class FuncionarioDto implements Serializable { + private final Long id; + private final String nome; + private final String cpf; + private final String rg; + private final String endereco; + private final String ctbs; + + public FuncionarioDto(Long id, String nome, String cpf, String rg, String endereco, String ctbs) { + this.id = id; + this.nome = nome; + this.cpf = cpf; + this.rg = rg; + this.endereco = endereco; + this.ctbs = ctbs; + } + + public Long getId() { + return id; + } + + public String getNome() { + return nome; + } + + public String getCpf() { + return cpf; + } + + public String getRg() { + return rg; + } + + public String getEndereco() { + return endereco; + } + + public String getCtbs() { + return ctbs; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + FuncionarioDto entity = (FuncionarioDto) o; + return Objects.equals(this.id, entity.id) && + Objects.equals(this.nome, entity.nome) && + Objects.equals(this.cpf, entity.cpf) && + Objects.equals(this.rg, entity.rg) && + Objects.equals(this.endereco, entity.endereco) && + Objects.equals(this.ctbs, entity.ctbs); + } + + @Override + public int hashCode() { + return Objects.hash(id, nome, cpf, rg, endereco, ctbs); + } + + @Override + public String toString() { + return getClass().getSimpleName() + "(" + + "id = " + id + ", " + + "nome = " + nome + ", " + + "cpf = " + cpf + ", " + + "rg = " + rg + ", " + + "endereco = " + endereco + ", " + + "ctbs = " + ctbs + ")"; + } +} \ No newline at end of file diff --git a/backend/src/main/java/com/senac/gestaocurso/dto/InscricaoDto.java b/backend/src/main/java/com/senac/gestaocurso/dto/InscricaoDto.java new file mode 100644 index 0000000..4404a02 --- /dev/null +++ b/backend/src/main/java/com/senac/gestaocurso/dto/InscricaoDto.java @@ -0,0 +1,55 @@ +package com.senac.gestaocurso.dto; + +import com.senac.gestaocurso.enums.Status; + +import java.io.Serializable; +import java.time.LocalDate; +import java.util.Objects; + + +public class InscricaoDto implements Serializable { + private final LocalDate data; + private final Status status; + private final Integer valor; + + public InscricaoDto(LocalDate data, Status status, Integer valor) { + this.data = data; + this.status = status; + this.valor = valor; + } + + public LocalDate getData() { + return data; + } + + public Status getStatus() { + return status; + } + + public Integer getValor() { + return valor; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + InscricaoDto entity = (InscricaoDto) o; + return Objects.equals(this.data, entity.data) && + Objects.equals(this.status, entity.status) && + Objects.equals(this.valor, entity.valor); + } + + @Override + public int hashCode() { + return Objects.hash(data, status, valor); + } + + @Override + public String toString() { + return getClass().getSimpleName() + "(" + + "data = " + data + ", " + + "status = " + status + ", " + + "valor = " + valor + ")"; + } +} \ No newline at end of file diff --git a/backend/src/main/java/com/senac/gestaocurso/dto/MateriaDto.java b/backend/src/main/java/com/senac/gestaocurso/dto/MateriaDto.java new file mode 100644 index 0000000..ddf0be9 --- /dev/null +++ b/backend/src/main/java/com/senac/gestaocurso/dto/MateriaDto.java @@ -0,0 +1,44 @@ +package com.senac.gestaocurso.dto; + +import java.io.Serializable; +import java.util.Objects; + + +public class MateriaDto implements Serializable { + private final String nome; + private final Integer cargaHoraria; + + public MateriaDto(String nome, Integer cargaHoraria) { + this.nome = nome; + this.cargaHoraria = cargaHoraria; + } + + public String getNome() { + return nome; + } + + public Integer getCargaHoraria() { + return cargaHoraria; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + MateriaDto entity = (MateriaDto) o; + return Objects.equals(this.nome, entity.nome) && + Objects.equals(this.cargaHoraria, entity.cargaHoraria); + } + + @Override + public int hashCode() { + return Objects.hash(nome, cargaHoraria); + } + + @Override + public String toString() { + return getClass().getSimpleName() + "(" + + "nome = " + nome + ", " + + "cargaHoraria = " + cargaHoraria + ")"; + } +} \ No newline at end of file diff --git a/backend/src/main/java/com/senac/gestaocurso/dto/TurmaDto.java b/backend/src/main/java/com/senac/gestaocurso/dto/TurmaDto.java new file mode 100644 index 0000000..c6b4cc7 --- /dev/null +++ b/backend/src/main/java/com/senac/gestaocurso/dto/TurmaDto.java @@ -0,0 +1,69 @@ +package com.senac.gestaocurso.dto; + +import java.io.Serializable; +import java.time.LocalDate; +import java.util.Objects; + + +public class TurmaDto implements Serializable { + private final String nome; + private final LocalDate dataInicio; + private final LocalDate dataFinal; + private final String descricao; + private final Integer limiteQtdInscricao; + + public TurmaDto(String nome, LocalDate dataInicio, LocalDate dataFinal, String descricao, Integer limiteQtdInscricao) { + this.nome = nome; + this.dataInicio = dataInicio; + this.dataFinal = dataFinal; + this.descricao = descricao; + this.limiteQtdInscricao = limiteQtdInscricao; + } + + public String getNome() { + return nome; + } + + public LocalDate getDataInicio() { + return dataInicio; + } + + public LocalDate getDataFinal() { + return dataFinal; + } + + public String getDescricao() { + return descricao; + } + + public Integer getLimiteQtdInscricao() { + return limiteQtdInscricao; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + TurmaDto entity = (TurmaDto) o; + return Objects.equals(this.nome, entity.nome) && + Objects.equals(this.dataInicio, entity.dataInicio) && + Objects.equals(this.dataFinal, entity.dataFinal) && + Objects.equals(this.descricao, entity.descricao) && + Objects.equals(this.limiteQtdInscricao, entity.limiteQtdInscricao); + } + + @Override + public int hashCode() { + return Objects.hash(nome, dataInicio, dataFinal, descricao, limiteQtdInscricao); + } + + @Override + public String toString() { + return getClass().getSimpleName() + "(" + + "nome = " + nome + ", " + + "dataInicio = " + dataInicio + ", " + + "dataFinal = " + dataFinal + ", " + + "descricao = " + descricao + ", " + + "limiteQtdInscricao = " + limiteQtdInscricao + ")"; + } +} \ No newline at end of file diff --git a/backend/src/main/java/com/senac/gestaocurso/models/Funcionario.java b/backend/src/main/java/com/senac/gestaocurso/models/Funcionario.java index 8279eb4..f39a304 100644 --- a/backend/src/main/java/com/senac/gestaocurso/models/Funcionario.java +++ b/backend/src/main/java/com/senac/gestaocurso/models/Funcionario.java @@ -2,6 +2,10 @@ +import jakarta.persistence.*; +import org.hibernate.validator.constraints.br.CPF; +import org.hibernate.validator.constraints.br.TituloEleitoral; +import javax.validation.constraints.Email; import com.senac.gestaocurso.enums.*; import com.senac.gestaocurso.models.domain.Certificacao; import jakarta.persistence.*; @@ -17,6 +21,7 @@ public class Funcionario extends EntityID { private String nome; @Column + @CPF(message = "Informe um CPF válido") private String cpf; @Column @@ -44,6 +49,7 @@ public class Funcionario extends EntityID { private EstadoCivil estadoCivil; @Column + @TituloEleitoral(message = "Informe um título de eleitor válido") private String tituloEleitor; @Column @@ -59,6 +65,7 @@ public class Funcionario extends EntityID { private String registroProfissional; @Column + @Email(message = "Informe um e-mail válido") private String email; @Column diff --git a/backend/src/main/java/com/senac/gestaocurso/repository/AulaRepository.java b/backend/src/main/java/com/senac/gestaocurso/repository/AulaRepository.java index 30c4949..810fb70 100644 --- a/backend/src/main/java/com/senac/gestaocurso/repository/AulaRepository.java +++ b/backend/src/main/java/com/senac/gestaocurso/repository/AulaRepository.java @@ -5,6 +5,12 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; +import java.time.LocalDate; + @Repository public interface AulaRepository extends JpaRepository, CustomQuerydslPredicateExecutor { + + Aula findByMateria(Long idMateria); + Aula findByDia(LocalDate dia); + Aula findByProfessor(Long idProfessor); } diff --git a/backend/src/main/java/com/senac/gestaocurso/service/AulaService.java b/backend/src/main/java/com/senac/gestaocurso/service/AulaService.java index 6bd069c..b8181a8 100644 --- a/backend/src/main/java/com/senac/gestaocurso/service/AulaService.java +++ b/backend/src/main/java/com/senac/gestaocurso/service/AulaService.java @@ -2,6 +2,7 @@ import com.senac.gestaocurso.models.domain.Aula; import com.senac.gestaocurso.repository.AulaRepository; +import com.senac.gestaocurso.strategy.NovaValidacaoAulaStrategy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; @@ -13,14 +14,24 @@ public class AulaService { @Autowired private AulaRepository aulaRepository; - public Aula salvar(Aula entity) {return aulaRepository.save(entity);} - public Page buscaTodos(Pageable pageable) { + + @Autowired + private List novaValidacaoAulaStrategies; + + public Aula salvar(Aula entity){ + novaValidacaoAulaStrategies.forEach(validar -> validar.validar(entity)); + return aulaRepository.save(entity); + } + + public Page buscaTodos(Pageable pageable){ return aulaRepository.findAll(pageable); } - public Aula buscaPorId(Long id) { + + public Aula buscaPorId(Long id){ return aulaRepository.findById(id).orElse(null); } - public Aula alterar(Long id, Aula alterado) { + + public Aula alterar(Long id, Aula alterado){ Optional encontrado = aulaRepository.findById(id); if ((encontrado.isPresent())) { Aula aula = encontrado.get(); @@ -28,8 +39,10 @@ public Aula alterar(Long id, Aula alterado) { aula.setDia(alterado.getDia()); return aulaRepository.save(aula); } + return null; } + public void remover(Long id) {aulaRepository.deleteById(id); } } diff --git a/backend/src/main/java/com/senac/gestaocurso/strategy/NovaValidacaoAulaStrategy.java b/backend/src/main/java/com/senac/gestaocurso/strategy/NovaValidacaoAulaStrategy.java new file mode 100644 index 0000000..9f42320 --- /dev/null +++ b/backend/src/main/java/com/senac/gestaocurso/strategy/NovaValidacaoAulaStrategy.java @@ -0,0 +1,8 @@ +package com.senac.gestaocurso.strategy; + +import com.senac.gestaocurso.models.Aula; + +public interface NovaValidacaoAulaStrategy { + + void validar(Aula aula); +} diff --git a/backend/src/main/java/com/senac/gestaocurso/strategy/aulaValidacaoImp/ValidarMateriaDoProfessorPorDia.java b/backend/src/main/java/com/senac/gestaocurso/strategy/aulaValidacaoImp/ValidarMateriaDoProfessorPorDia.java new file mode 100644 index 0000000..af1af5a --- /dev/null +++ b/backend/src/main/java/com/senac/gestaocurso/strategy/aulaValidacaoImp/ValidarMateriaDoProfessorPorDia.java @@ -0,0 +1,27 @@ +package com.senac.gestaocurso.strategy.aulaValidacaoImp; + +import com.senac.gestaocurso.enterprise.ValidationException; +import com.senac.gestaocurso.models.Aula; +import com.senac.gestaocurso.repository.AulaRepository; +import com.senac.gestaocurso.strategy.NovaValidacaoAulaStrategy; +import org.springframework.beans.factory.annotation.Autowired; + +import java.time.LocalDate; + +public class ValidarMateriaDoProfessorPorDia implements NovaValidacaoAulaStrategy { + + @Autowired + private AulaRepository repository; + + @Override + public void validar(Aula aula) { + if (validaMateriaPorDia(aula.getDia(), aula.getProfessor().getId())){ + throw new ValidationException("Esse professor já está com aula neste dia"); + } + } + + private boolean validaMateriaPorDia(LocalDate dia, Long idProfessor){ + return repository.findByDia(dia) != null && + repository.findByProfessor(idProfessor) != null; + } +} diff --git a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarListaCertificacoes.java b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ImplementaListaCertificacao.java similarity index 65% rename from backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarListaCertificacoes.java rename to backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ImplementaListaCertificacao.java index c7f35e8..56a735c 100644 --- a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarListaCertificacoes.java +++ b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ImplementaListaCertificacao.java @@ -1,4 +1,4 @@ -package com.senac.gestaocurso.strategy.impl; +package com.senac.gestaocurso.strategy.funcionarioValidacaoImp; import com.senac.gestaocurso.models.domain.Certificacao; import com.senac.gestaocurso.models.Funcionario; @@ -9,11 +9,11 @@ import java.util.stream.Collectors; @Component -public class ValidarListaCertificacoes implements ValidarImplementacaoListasStrategy { +public class ImplementaListaCertificacao implements ValidarImplementacaoListasStrategy { @Override public void lista(Funcionario funcionario) { - if (!funcionario.getCertificacoes().isEmpty()) { - List certificacaoList = funcionario.getCertificacoes() + if (validaLista(funcionario)) { + List certificacoesList = funcionario.getCertificacoes() .stream() .map(certificacoesIn -> new Certificacao( certificacoesIn.getNome(), @@ -25,4 +25,10 @@ public void lista(Funcionario funcionario) { funcionario.setCertificacoes(certificacaoList); } } + + private Boolean validaLista(Funcionario funcionario){ + if (!funcionario.getCertificacoes().isEmpty()) return true; + + return false; + } } diff --git a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarListaDadosBancarios.java b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ImplementaListaDadoBancario.java similarity index 66% rename from backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarListaDadosBancarios.java rename to backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ImplementaListaDadoBancario.java index 4b154a7..f2490a3 100644 --- a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarListaDadosBancarios.java +++ b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ImplementaListaDadoBancario.java @@ -1,4 +1,4 @@ -package com.senac.gestaocurso.strategy.impl; +package com.senac.gestaocurso.strategy.funcionarioValidacaoImp; import com.senac.gestaocurso.models.DadosBancario; import com.senac.gestaocurso.models.Funcionario; @@ -9,11 +9,11 @@ import java.util.stream.Collectors; @Component -public class ValidarListaDadosBancarios implements ValidarImplementacaoListasStrategy { +public class ImplementaListaDadoBancario implements ValidarImplementacaoListasStrategy { @Override public void lista(Funcionario funcionario) { - if (!funcionario.getDadosBancarios().isEmpty()) { - List dadosBancarioList = funcionario.getDadosBancarios() + if (validaLista(funcionario)) { + List dadosBancariosList = funcionario.getDadosBancarios() .stream() .map(dadosBancariosIn -> new DadosBancario( dadosBancariosIn.getBanco(), @@ -26,4 +26,10 @@ public void lista(Funcionario funcionario) { funcionario.setDadosBancarios(dadosBancarioList); } } + + private boolean validaLista(Funcionario funcionario){ + if (!funcionario.getDadosBancarios().isEmpty()) return true; + + return false; + } } diff --git a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarListaDependentes.java b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ImplementaListaDependente.java similarity index 64% rename from backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarListaDependentes.java rename to backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ImplementaListaDependente.java index 0fe4344..7e35893 100644 --- a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarListaDependentes.java +++ b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ImplementaListaDependente.java @@ -1,4 +1,4 @@ -package com.senac.gestaocurso.strategy.impl; +package com.senac.gestaocurso.strategy.funcionarioValidacaoImp; import com.senac.gestaocurso.models.Dependente; import com.senac.gestaocurso.models.Funcionario; @@ -9,13 +9,13 @@ import java.util.stream.Collectors; @Component -public class ValidarListaDependentes implements ValidarImplementacaoListasStrategy { +public class ImplementaListaDependente implements ValidarImplementacaoListasStrategy { @Override public void lista(Funcionario funcionario) { - if (!funcionario.getDependentes().isEmpty()){ - List dependenteList = funcionario.getDependentes() + if (validaLista(funcionario)){ + List dependentesList = funcionario.getDependentes() .stream() .map(dependentesIn -> new Dependente( dependentesIn.getNome(), @@ -27,4 +27,10 @@ public void lista(Funcionario funcionario) { funcionario.setDependentes(dependenteList); } } + + private boolean validaLista(Funcionario funcionario){ + if (!funcionario.getDependentes().isEmpty()) return true; + + return false; + } } diff --git a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarListaExpAnterior.java b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ImplementaListaExperienciaAnterior.java similarity index 66% rename from backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarListaExpAnterior.java rename to backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ImplementaListaExperienciaAnterior.java index c9d3e6b..50edad2 100644 --- a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarListaExpAnterior.java +++ b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ImplementaListaExperienciaAnterior.java @@ -1,4 +1,4 @@ -package com.senac.gestaocurso.strategy.impl; +package com.senac.gestaocurso.strategy.funcionarioValidacaoImp; import com.senac.gestaocurso.models.ExperienciaAnterior; import com.senac.gestaocurso.models.Funcionario; @@ -9,11 +9,11 @@ import java.util.stream.Collectors; @Component -public class ValidarListaExpAnterior implements ValidarImplementacaoListasStrategy { +public class ImplementaListaExperienciaAnterior implements ValidarImplementacaoListasStrategy { @Override public void lista(Funcionario funcionario) { - if (!funcionario.getExpAnterior().isEmpty()) { - List experienciaAnteriorList = funcionario.getExpAnterior() + if (validaLista(funcionario)) { + List expAnteriorList = funcionario.getExpAnterior() .stream() .map(expAnteriorIn -> new ExperienciaAnterior( expAnteriorIn.getDescricao(), @@ -26,4 +26,10 @@ public void lista(Funcionario funcionario) { funcionario.setExpAnterior(experienciaAnteriorList); } } + + private boolean validaLista(Funcionario funcionario){ + if (!funcionario.getExpAnterior().isEmpty()) return true; + + return false; + } } diff --git a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarCnh.java b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarCnh.java similarity index 92% rename from backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarCnh.java rename to backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarCnh.java index 9231f7c..8578c46 100644 --- a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarCnh.java +++ b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarCnh.java @@ -1,4 +1,4 @@ -package com.senac.gestaocurso.strategy.impl; +package com.senac.gestaocurso.strategy.funcionarioValidacaoImp; import com.senac.gestaocurso.enterprise.ValidationException; import com.senac.gestaocurso.models.Funcionario; diff --git a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarCpf.java b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarCpf.java similarity index 92% rename from backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarCpf.java rename to backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarCpf.java index a9c93ba..69922b4 100644 --- a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarCpf.java +++ b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarCpf.java @@ -1,4 +1,4 @@ -package com.senac.gestaocurso.strategy.impl; +package com.senac.gestaocurso.strategy.funcionarioValidacaoImp; import com.senac.gestaocurso.enterprise.ValidationException; import com.senac.gestaocurso.models.Funcionario; diff --git a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarCtbs.java b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarCtbs.java similarity index 92% rename from backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarCtbs.java rename to backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarCtbs.java index 42c7b24..c55c962 100644 --- a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarCtbs.java +++ b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarCtbs.java @@ -1,4 +1,4 @@ -package com.senac.gestaocurso.strategy.impl; +package com.senac.gestaocurso.strategy.funcionarioValidacaoImp; import com.senac.gestaocurso.enterprise.ValidationException; import com.senac.gestaocurso.models.Funcionario; diff --git a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarEmail.java b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarEmail.java similarity index 92% rename from backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarEmail.java rename to backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarEmail.java index 9e3db94..b59cdd7 100644 --- a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarEmail.java +++ b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarEmail.java @@ -1,4 +1,4 @@ -package com.senac.gestaocurso.strategy.impl; +package com.senac.gestaocurso.strategy.funcionarioValidacaoImp; import com.senac.gestaocurso.enterprise.ValidationException; import com.senac.gestaocurso.models.Funcionario; diff --git a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarMatricula.java b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarMatricula.java similarity index 92% rename from backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarMatricula.java rename to backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarMatricula.java index 272bc63..4debdf0 100644 --- a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarMatricula.java +++ b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarMatricula.java @@ -1,4 +1,4 @@ -package com.senac.gestaocurso.strategy.impl; +package com.senac.gestaocurso.strategy.funcionarioValidacaoImp; import com.senac.gestaocurso.enterprise.ValidationException; import com.senac.gestaocurso.models.Funcionario; diff --git a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarPisPasep.java b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarPisPasep.java similarity index 92% rename from backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarPisPasep.java rename to backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarPisPasep.java index 1dda63b..91ce61a 100644 --- a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarPisPasep.java +++ b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarPisPasep.java @@ -1,4 +1,4 @@ -package com.senac.gestaocurso.strategy.impl; +package com.senac.gestaocurso.strategy.funcionarioValidacaoImp; import com.senac.gestaocurso.enterprise.ValidationException; import com.senac.gestaocurso.models.Funcionario; diff --git a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValdiarReservista.java b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarReservista.java similarity index 86% rename from backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValdiarReservista.java rename to backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarReservista.java index 478e329..a13a01e 100644 --- a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValdiarReservista.java +++ b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarReservista.java @@ -1,4 +1,4 @@ -package com.senac.gestaocurso.strategy.impl; +package com.senac.gestaocurso.strategy.funcionarioValidacaoImp; import com.senac.gestaocurso.enterprise.ValidationException; import com.senac.gestaocurso.models.Funcionario; @@ -8,7 +8,7 @@ import org.springframework.stereotype.Component; @Component -public class ValdiarReservista implements NovaValidacaoFuncionarioStrategy { +public class ValidarReservista implements NovaValidacaoFuncionarioStrategy { @Autowired private FuncionarioRepository repository; diff --git a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarRg.java b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarRg.java similarity index 92% rename from backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarRg.java rename to backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarRg.java index 197e88a..bbfbf95 100644 --- a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarRg.java +++ b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarRg.java @@ -1,4 +1,4 @@ -package com.senac.gestaocurso.strategy.impl; +package com.senac.gestaocurso.strategy.funcionarioValidacaoImp; import com.senac.gestaocurso.enterprise.ValidationException; import com.senac.gestaocurso.models.Funcionario; diff --git a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarTelefone.java b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarTelefone.java similarity index 92% rename from backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarTelefone.java rename to backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarTelefone.java index 7b866f7..764e748 100644 --- a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarTelefone.java +++ b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarTelefone.java @@ -1,4 +1,4 @@ -package com.senac.gestaocurso.strategy.impl; +package com.senac.gestaocurso.strategy.funcionarioValidacaoImp; import com.senac.gestaocurso.enterprise.ValidationException; import com.senac.gestaocurso.models.Funcionario; diff --git a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarTituloEleitor.java b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarTituloEleitor.java similarity index 93% rename from backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarTituloEleitor.java rename to backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarTituloEleitor.java index 80869ca..2852a27 100644 --- a/backend/src/main/java/com/senac/gestaocurso/strategy/impl/ValidarTituloEleitor.java +++ b/backend/src/main/java/com/senac/gestaocurso/strategy/funcionarioValidacaoImp/ValidarTituloEleitor.java @@ -1,4 +1,4 @@ -package com.senac.gestaocurso.strategy.impl; +package com.senac.gestaocurso.strategy.funcionarioValidacaoImp; import com.senac.gestaocurso.enterprise.ValidationException; import com.senac.gestaocurso.models.Funcionario;