/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.qsoft.rs.sincoar.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Collection;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;

/**
 *
 * @author developer2
 */
@Entity
@Table(name="COMACO.TARMPLANIFICACIONINSPECCION")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Tarmplanificacioninspeccion.findAll", query = "SELECT t FROM Tarmplanificacioninspeccion t"),
    @NamedQuery(name = "Tarmplanificacioninspeccion.findByCplanificacion", query = "SELECT t FROM Tarmplanificacioninspeccion t WHERE t.cplanificacion = :cplanificacion"),
    @NamedQuery(name = "Tarmplanificacioninspeccion.findByCodigo", query = "SELECT t FROM Tarmplanificacioninspeccion t WHERE t.codigo = :codigo"),
    @NamedQuery(name = "Tarmplanificacioninspeccion.findByDescripcion", query = "SELECT t FROM Tarmplanificacioninspeccion t WHERE t.descripcion = :descripcion"),
    @NamedQuery(name = "Tarmplanificacioninspeccion.findByFechageneracion", query = "SELECT t FROM Tarmplanificacioninspeccion t WHERE t.fechageneracion = :fechageneracion"),
    @NamedQuery(name = "Tarmplanificacioninspeccion.findByFechainicio", query = "SELECT t FROM Tarmplanificacioninspeccion t WHERE t.fechainicio = :fechainicio"),
    @NamedQuery(name = "Tarmplanificacioninspeccion.findByFechafin", query = "SELECT t FROM Tarmplanificacioninspeccion t WHERE t.fechafin = :fechafin"),
    @NamedQuery(name = "Tarmplanificacioninspeccion.findByAnno", query = "SELECT t FROM Tarmplanificacioninspeccion t WHERE t.anno = :anno"),
    @NamedQuery(name = "Tarmplanificacioninspeccion.findByAprobada", query = "SELECT t FROM Tarmplanificacioninspeccion t WHERE t.aprobada = :aprobada"),
    @NamedQuery(name = "Tarmplanificacioninspeccion.findByXpath", query = "SELECT t FROM Tarmplanificacioninspeccion t WHERE t.xpath = :xpath"),
    @NamedQuery(name = "Tarmplanificacioninspeccion.findByPresupesto", query = "SELECT t FROM Tarmplanificacioninspeccion t WHERE t.presupesto = :presupesto"),
    @NamedQuery(name = "Tarmplanificacioninspeccion.findByTipoplanificacioncode", query = "SELECT t FROM Tarmplanificacioninspeccion t WHERE t.tipoplanificacioncode = :tipoplanificacioncode"),
    @NamedQuery(name = "Tarmplanificacioninspeccion.findByTipoplanificacion", query = "SELECT t FROM Tarmplanificacioninspeccion t WHERE t.tipoplanificacion = :tipoplanificacion")})
public class Tarmplanificacioninspeccion implements Serializable {

    private static final long serialVersionUID = 1L;
    // @Max(value=?)  @Min(value=?)//if you know range of your decimal fields consider using these annotations to enforce field validation
    @Id
    @Basic(optional = false)
    @Column(name = "CPLANIFICACION")
    private BigDecimal cplanificacion;
    @Column(name = "CODIGO")
    private String codigo;
    @Column(name = "DESCRIPCION")
    private String descripcion;
    @Column(name = "FECHAGENERACION")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechageneracion;
    @Column(name = "FECHAINICIO")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechainicio;
    @Column(name = "FECHAFIN")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechafin;
    @Column(name = "ANNO")
    private BigInteger anno;
    @Column(name = "APROBADA")
    private String aprobada;
    @Column(name = "XPATH")
    private String xpath;
    @Column(name = "PRESUPESTO")
    private BigDecimal presupesto;
    @Column(name = "TIPOPLANIFICACIONCODE")
    private String tipoplanificacioncode;
    @Column(name = "TIPOPLANIFICACION")
    private String tipoplanificacion;
    @OneToMany(mappedBy = "cplanificacion")
    private Collection<Tarmplanificaciontramite> tarmplanificaciontramiteCollection;
    @JoinColumn(name = "CCENTROCONTROL", referencedColumnName = "CCENTROCONTROL")
    @ManyToOne
    private Tarmcentrocontrol ccentrocontrol;

    public Tarmplanificacioninspeccion() {
    }

    public Tarmplanificacioninspeccion(BigDecimal cplanificacion) {
        this.cplanificacion = cplanificacion;
    }

    public BigDecimal getCplanificacion() {
        return cplanificacion;
    }

    public void setCplanificacion(BigDecimal cplanificacion) {
        this.cplanificacion = cplanificacion;
    }

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public Date getFechageneracion() {
        return fechageneracion;
    }

    public void setFechageneracion(Date fechageneracion) {
        this.fechageneracion = fechageneracion;
    }

    public Date getFechainicio() {
        return fechainicio;
    }

    public void setFechainicio(Date fechainicio) {
        this.fechainicio = fechainicio;
    }

    public Date getFechafin() {
        return fechafin;
    }

    public void setFechafin(Date fechafin) {
        this.fechafin = fechafin;
    }

    public BigInteger getAnno() {
        return anno;
    }

    public void setAnno(BigInteger anno) {
        this.anno = anno;
    }

    public String getAprobada() {
        return aprobada;
    }

    public void setAprobada(String aprobada) {
        this.aprobada = aprobada;
    }

    public String getXpath() {
        return xpath;
    }

    public void setXpath(String xpath) {
        this.xpath = xpath;
    }

    public BigDecimal getPresupesto() {
        return presupesto;
    }

    public void setPresupesto(BigDecimal presupesto) {
        this.presupesto = presupesto;
    }

    public String getTipoplanificacioncode() {
        return tipoplanificacioncode;
    }

    public void setTipoplanificacioncode(String tipoplanificacioncode) {
        this.tipoplanificacioncode = tipoplanificacioncode;
    }

    public String getTipoplanificacion() {
        return tipoplanificacion;
    }

    public void setTipoplanificacion(String tipoplanificacion) {
        this.tipoplanificacion = tipoplanificacion;
    }

    @XmlTransient
    public Collection<Tarmplanificaciontramite> getTarmplanificaciontramiteCollection() {
        return tarmplanificaciontramiteCollection;
    }

    public void setTarmplanificaciontramiteCollection(Collection<Tarmplanificaciontramite> tarmplanificaciontramiteCollection) {
        this.tarmplanificaciontramiteCollection = tarmplanificaciontramiteCollection;
    }

    public Tarmcentrocontrol getCcentrocontrol() {
        return ccentrocontrol;
    }

    public void setCcentrocontrol(Tarmcentrocontrol ccentrocontrol) {
        this.ccentrocontrol = ccentrocontrol;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (cplanificacion != null ? cplanificacion.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Tarmplanificacioninspeccion)) {
            return false;
        }
        Tarmplanificacioninspeccion other = (Tarmplanificacioninspeccion) object;
        if ((this.cplanificacion == null && other.cplanificacion != null) || (this.cplanificacion != null && !this.cplanificacion.equals(other.cplanificacion))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "com.qsoft.rs.sincoar.model.Tarmplanificacioninspeccion[ cplanificacion=" + cplanificacion + " ]";
    }
    
}
