Postulante.java 6.9 KB
Newer Older
1 2
package com.roshka.modelo;

3
import javax.persistence.*;
4
import javax.validation.constraints.*;
5

6
import com.fasterxml.jackson.annotation.JsonIgnore;
7
import com.fasterxml.jackson.annotation.JsonManagedReference;
8
import com.roshka.utils.Helper;
9 10

import java.util.ArrayList;
11
import java.util.Date;
12
import java.util.List;
13

14 15 16

@Entity
@Table(name="postulante")
17
public class Postulante {
18 19
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
20
    @Column(name="id")
21 22
    private long id;

23
    @Column(name="nombre")
24
    @NotBlank(message = "Este campo no puede estar vacio")
25
    @Size(max = 255)
26 27
    private String nombre;

28
    @Column(name = "apellido")
29
    @NotBlank(message = "Este campo no puede estar vacio")
30
    @Size(max = 255)
31 32
    private String apellido;

33
    @Column(name = "ci")
34
    @NotBlank(message = "Este campo no puede estar vacio")
35
    @Size(max = 120)
36 37
    private String ci;

38
    @Column(name = "correo")
39
    @NotBlank(message = "Este campo no puede estar vacio")
40
    @Email(message = "Formato incorrecto de correo")
41 42
    private String correo;

43 44 45 46 47
    @ManyToOne(targetEntity = Ciudad.class,fetch = FetchType.EAGER)
    @JoinColumn(name="ciudad_id",insertable = false, updatable = false)
    private Ciudad ciudad;
    @Column(name="ciudad_id")
    private Long ciudadId;
48

49
    @Column(name = "telefono")
50
    @NotBlank(message = "Este campo no puede estar vacio")
51 52
    private String telefono;

53
    @Column(name = "fecha_nacimiento")
54 55
    @NotNull(message = "Este campo no puede estar vacio")
    @Past(message = "Este campo no puede estar en el futuro")
56 57
    private Date fechaNacimiento;

58
    @Column(name = "resumen")
59 60
    private String resumen;

61
    @Column(name = "nivel_ingles")
62 63
    @Min(value = 1)
    @Max(value = 5)
64 65
    private long nivelIngles;

66
    @Column(name = "curriculum")
67 68
    private String curriculum;

willgonzz committed
69
    @Column(name="estado_civil")
70
    @NotNull
71
    private EstadoCivil estadoCivil;
72 73
   
    @Column(name="nacionalidad", length = 2)
74
    @NotNull
75
    private Nacionalidad nacionalidad;
76 77 78

    @Column(name = "tipo_documento", length = 2)
    @NotBlank(message = "este campo debe estar completo")
willgonzz committed
79
    private String tipoDocumento;
80

81

82 83
    @Column(name = "disponibilidad", length = 2)
    private Disponibilidad disponibilidad;
84

85
    @JsonManagedReference(value = "postulantetecnologia-postulante")
86
    @OneToMany(mappedBy = "postulante",cascade = CascadeType.ALL)
87 88
    private List<PostulanteTecnologia> tecnologias;
    
89
    @JsonManagedReference(value = "experiencia-postulante")
90
    @OneToMany(mappedBy = "postulante",cascade = CascadeType.ALL)
91
    private List<Experiencia> experiencias = new ArrayList<>();
92

93
    @JsonManagedReference(value = "estudio-postulante")
94
    @OneToMany(mappedBy = "postulante",cascade = CascadeType.ALL)
95 96
    private List<Estudio> estudios;

97 98 99 100 101 102 103 104 105 106 107 108
    @JsonManagedReference
    @OneToMany(mappedBy = "postulante",cascade = CascadeType.ALL)
    private List<ReferenciaPersonal> referencias;

    @ManyToMany(cascade = CascadeType.ALL)
    @JoinTable(uniqueConstraints = @UniqueConstraint(columnNames = {"postulante_id","convocatoria_cargo_id"}),
                joinColumns = @JoinColumn(name="postulante_id", referencedColumnName="id"),
                inverseJoinColumns= @JoinColumn(name="convocatoria_cargo_id", referencedColumnName="id")
    )
    @JsonIgnore
    private List<ConvocatoriaCargo> postulaciones;

109

110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getApellido() {
        return apellido;
    }

    public void setApellido(String apellido) {
        this.apellido = apellido;
    }

    public String getCi() {
        return ci;
    }

    public void setCi(String ci) {
        this.ci = ci;
    }

    public String getCorreo() {
        return correo;
    }

    public void setCorreo(String correo) {
        this.correo = correo;
    }

    public String getTelefono() {
        return telefono;
    }

    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }

    public Date getFechaNacimiento() {
        return fechaNacimiento;
    }

    public void setFechaNacimiento(Date fechaNacimiento) {
        this.fechaNacimiento = fechaNacimiento;
    }

166
    public void setFechaNacimiento(String fechaNacimiento) {
167
        this.fechaNacimiento = Helper.convertirFecha(fechaNacimiento);
168 169
    }

170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193
    public String getResumen() {
        return resumen;
    }

    public void setResumen(String resumen) {
        this.resumen = resumen;
    }

    public long getNivelIngles() {
        return nivelIngles;
    }

    public void setNivelIngles(long nivelIngles) {
        this.nivelIngles = nivelIngles;
    }

    public String getCurriculum() {
        return curriculum;
    }

    public void setCurriculum(String curriculum) {
        this.curriculum = curriculum;
    }

194
    
195

196
    public Disponibilidad getDisponibilidad() {
197 198 199
        return disponibilidad;
    }

200 201
    public Ciudad getCiudad() {
        return this.ciudad;
202 203
    }

204 205 206 207 208 209 210 211 212 213 214
    public void setCiudad(Ciudad ciudad) {
        this.ciudad = ciudad;
    }

    public Long getCiudadId() {
        return this.ciudadId;
    }

    public void setCiudadId(Long ciudadId) {
        this.ciudadId = ciudadId;
    }
215
    public void setEstadoCivil(EstadoCivil estadoCivil) {
216 217 218 219 220
        this.estadoCivil = estadoCivil;
    }
    public void setTipoDocumento(String tipoDocumento) {
        this.tipoDocumento = tipoDocumento;
    }
221
    public EstadoCivil getEstadoCivil() {
222 223 224 225 226
        return estadoCivil;
    }
    public String getTipoDocumento() {
        return tipoDocumento;
    }
227
    public Nacionalidad getNacionalidad() {
228 229 230
        return nacionalidad;
    }

231
    public void setNacionalidad(Nacionalidad nacionalidad) {
232
        this.nacionalidad = nacionalidad;
233 234
    }

235
    public void setDisponibilidad(Disponibilidad disponibilidad) {
236 237
        this.disponibilidad = disponibilidad;
    }
238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257

    public List<PostulanteTecnologia> getTecnologias() {
        return tecnologias;
    }
    public void setTecnologias(List<PostulanteTecnologia> tecnologias) {
        this.tecnologias = tecnologias;
    }

    public List<Estudio> getEstudios() {
        return estudios;
    }
    public List<Experiencia> getExperiencias() {
        return experiencias;
    }
    public void setEstudios(List<Estudio> estudios) {
        this.estudios = estudios;
    }
    public void setExperiencias(List<Experiencia> experiencias) {
        this.experiencias = experiencias;
    }
258 259 260 261 262 263 264 265 266 267 268 269 270 271
    public List<ConvocatoriaCargo> getPostulaciones() {
        return postulaciones;
    }
    public void setPostulaciones(List<ConvocatoriaCargo> postulaciones) {
        this.postulaciones = postulaciones;
    }

    public void setReferencias(List<ReferenciaPersonal> referencias) {
        this.referencias = referencias;
    }

    public List<ReferenciaPersonal> getReferencias() {
        return referencias;
    }
272
}