/*
 * 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.BigInteger;
import java.util.Collection;
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.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;

/**
 *
 * @author developer2
 */
@Entity
@Table(name="COMACO.TARMPLANIFICACIONTRAMITE")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Tarmplanificaciontramite.findAll", query = "SELECT t FROM Tarmplanificaciontramite t"),
    @NamedQuery(name = "Tarmplanificaciontramite.findByCplanificaciontramite", query = "SELECT t FROM Tarmplanificaciontramite t WHERE t.cplanificaciontramite = :cplanificaciontramite"),
    @NamedQuery(name = "Tarmplanificaciontramite.findByMes", query = "SELECT t FROM Tarmplanificaciontramite t WHERE t.mes = :mes"),
    @NamedQuery(name = "Tarmplanificaciontramite.findByMesnumero", query = "SELECT t FROM Tarmplanificaciontramite t WHERE t.mesnumero = :mesnumero"),
    @NamedQuery(name = "Tarmplanificaciontramite.findByInspeccion", query = "SELECT t FROM Tarmplanificaciontramite t WHERE t.inspeccion = :inspeccion")})
public class Tarmplanificaciontramite implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "CPLANIFICACIONTRAMITE")
    private Long cplanificaciontramite;
    @Column(name = "MES")
    private String mes;
    @Column(name = "MESNUMERO")
    private BigInteger mesnumero;
    @Column(name = "INSPECCION")
    private String inspeccion;
    @JoinColumn(name = "CDOCUMENTO", referencedColumnName = "CDOCUMENTO")
    @ManyToOne
    private Tarmdocumentohabilitante cdocumento;
    @JoinColumn(name = "CPLANIFICACION", referencedColumnName = "CPLANIFICACION")
    @ManyToOne
    private Tarmplanificacioninspeccion cplanificacion;
    @JoinColumn(name = "CSOLICITUD", referencedColumnName = "CSOLICITUD")
    @ManyToOne
    private Tarmsolicitud csolicitud;
    @JoinColumn(name = "CTRAMITE", referencedColumnName = "CTRAMITE")
    @ManyToOne
    private Tarmtramite ctramite;
    @OneToMany(mappedBy = "cplanificaciontramite")
    private Collection<Tarminspeccion> tarminspeccionCollection;

    public Tarmplanificaciontramite() {
    }

    public Tarmplanificaciontramite(Long cplanificaciontramite) {
        this.cplanificaciontramite = cplanificaciontramite;
    }

    public Long getCplanificaciontramite() {
        return cplanificaciontramite;
    }

    public void setCplanificaciontramite(Long cplanificaciontramite) {
        this.cplanificaciontramite = cplanificaciontramite;
    }

    public String getMes() {
        return mes;
    }

    public void setMes(String mes) {
        this.mes = mes;
    }

    public BigInteger getMesnumero() {
        return mesnumero;
    }

    public void setMesnumero(BigInteger mesnumero) {
        this.mesnumero = mesnumero;
    }

    public String getInspeccion() {
        return inspeccion;
    }

    public void setInspeccion(String inspeccion) {
        this.inspeccion = inspeccion;
    }

    public Tarmdocumentohabilitante getCdocumento() {
        return cdocumento;
    }

    public void setCdocumento(Tarmdocumentohabilitante cdocumento) {
        this.cdocumento = cdocumento;
    }

    public Tarmplanificacioninspeccion getCplanificacion() {
        return cplanificacion;
    }

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

    public Tarmsolicitud getCsolicitud() {
        return csolicitud;
    }

    public void setCsolicitud(Tarmsolicitud csolicitud) {
        this.csolicitud = csolicitud;
    }

    public Tarmtramite getCtramite() {
        return ctramite;
    }

    public void setCtramite(Tarmtramite ctramite) {
        this.ctramite = ctramite;
    }

    @XmlTransient
    public Collection<Tarminspeccion> getTarminspeccionCollection() {
        return tarminspeccionCollection;
    }

    public void setTarminspeccionCollection(Collection<Tarminspeccion> tarminspeccionCollection) {
        this.tarminspeccionCollection = tarminspeccionCollection;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (cplanificaciontramite != null ? cplanificaciontramite.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 Tarmplanificaciontramite)) {
            return false;
        }
        Tarmplanificaciontramite other = (Tarmplanificaciontramite) object;
        if ((this.cplanificaciontramite == null && other.cplanificaciontramite != null) || (this.cplanificaciontramite != null && !this.cplanificaciontramite.equals(other.cplanificaciontramite))) {
            return false;
        }
        return true;
    }

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