package mx.edu.um.mateo.inscripciones.model; import java.io.Serializable; import java.util.Date; import java.util.Objects; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.ManyToOne; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.Version; import mx.edu.um.mateo.general.model.Organizacion; import org.springframework.format.annotation.DateTimeFormat; @Entity @Table(name = "afe_cat_periodo") public class Periodo implements Serializable{ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(nullable = false, length = 10) private String clave; @Column(nullable = false, length = 100) private String descripcion; @Column(nullable = false) @DateTimeFormat(pattern = "dd/MM/yyyy") @Temporal(javax.persistence.TemporalType.DATE) private Date fechaInicial; @Column(nullable = false) @DateTimeFormat(pattern = "dd/MM/yyyy") @Temporal(javax.persistence.TemporalType.DATE) private Date fechaFinal; @Column() private String incluye; //Facultades que afecta este periodo... Si esta vacio, indica que incluye todas las carreras @Column() private String excluye; //Facultades que no afecta este periodo... @Column(nullable = false, length = 2) private String status; @Version private Integer version; @ManyToOne(optional = false) private Organizacion organizacion; public Periodo() { } public Periodo(String descripcion, String status, String clave, Date fechaInicial, Date fechaFinal) { this.descripcion = descripcion; this.status = status; this.clave = clave; this.fechaInicial = fechaInicial; this.fechaFinal = fechaFinal; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getClave() { return clave; } public void setClave(String clave) { this.clave = clave; } public String getDescripcion() { return descripcion; } public void setDescripcion(String descripcion) { this.descripcion = descripcion; } public Organizacion getOrganizacion() { return organizacion; } public void setOrganizacion(Organizacion organizacion) { this.organizacion = organizacion; } public Date getFechaInicial() { return fechaInicial; } public void setFechaInicial(Date fechaInicial) { this.fechaInicial = fechaInicial; } public Date getFechaFinal() { return fechaFinal; } public void setFechaFinal(Date fechaFinal) { this.fechaFinal = fechaFinal; } public String getIncluye() { return incluye; } public void setIncluye(String incluye) { this.incluye = incluye; } public String getExcluye() { return excluye; } public void setExcluye(String excluye) { this.excluye = excluye; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public Integer getVersion() { return version; } public void setVersion(Integer version) { this.version = version; } @Override public int hashCode() { int hash = 7; hash = 53 * hash + Objects.hashCode(this.id); hash = 53 * hash + Objects.hashCode(this.clave); hash = 53 * hash + Objects.hashCode(this.version); hash = 53 * hash + Objects.hashCode(this.organizacion); return hash; } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final Periodo other = (Periodo) obj; if (!Objects.equals(this.id, other.id)) { return false; } if (!Objects.equals(this.clave, other.clave)) { return false; } if (!Objects.equals(this.version, other.version)) { return false; } if (!Objects.equals(this.organizacion, other.organizacion)) { return false; } return true; } @Override public String toString() { return "Periodo{" + "id=" + id + ", clave=" + clave + ", descripcion=" + descripcion + ", fechaInicial=" + fechaInicial + ", fechaFinal=" + fechaFinal + ", status=" + status + ", version=" + version + '}'; } }