/*
 * 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.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author developer2
 */
@Entity
@Table(name="COMACO.TFIRMCERTIFICADO")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Tfirmcertificado.findAll", query = "SELECT t FROM Tfirmcertificado t"),
    @NamedQuery(name = "Tfirmcertificado.findByIdcertificado", query = "SELECT t FROM Tfirmcertificado t WHERE t.tfirmcertificadoPK.idcertificado = :idcertificado"),
    @NamedQuery(name = "Tfirmcertificado.findByFcaducidad", query = "SELECT t FROM Tfirmcertificado t WHERE t.tfirmcertificadoPK.fcaducidad = :fcaducidad"),
    @NamedQuery(name = "Tfirmcertificado.findByFvigencia", query = "SELECT t FROM Tfirmcertificado t WHERE t.fvigencia = :fvigencia"),
    @NamedQuery(name = "Tfirmcertificado.findByFingreso", query = "SELECT t FROM Tfirmcertificado t WHERE t.fingreso = :fingreso"),
    @NamedQuery(name = "Tfirmcertificado.findByCodigousuario", query = "SELECT t FROM Tfirmcertificado t WHERE t.codigousuario = :codigousuario"),
    @NamedQuery(name = "Tfirmcertificado.findByCargo", query = "SELECT t FROM Tfirmcertificado t WHERE t.cargo = :cargo")})
public class Tfirmcertificado implements Serializable {

    private static final long serialVersionUID = 1L;
    @EmbeddedId
    protected TfirmcertificadoPK tfirmcertificadoPK;
    @Basic(optional = false)
    @Column(name = "FVIGENCIA")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fvigencia;
    @Basic(optional = false)
    @Column(name = "FINGRESO")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fingreso;
    @Column(name = "CODIGOUSUARIO")
    private String codigousuario;
    @Column(name = "CARGO")
    private String cargo;

    public Tfirmcertificado() {
    }

    public Tfirmcertificado(TfirmcertificadoPK tfirmcertificadoPK) {
        this.tfirmcertificadoPK = tfirmcertificadoPK;
    }

    public Tfirmcertificado(TfirmcertificadoPK tfirmcertificadoPK, Date fvigencia, Date fingreso) {
        this.tfirmcertificadoPK = tfirmcertificadoPK;
        this.fvigencia = fvigencia;
        this.fingreso = fingreso;
    }

    public Tfirmcertificado(String idcertificado, Date fcaducidad) {
        this.tfirmcertificadoPK = new TfirmcertificadoPK(idcertificado, fcaducidad);
    }

    public TfirmcertificadoPK getTfirmcertificadoPK() {
        return tfirmcertificadoPK;
    }

    public void setTfirmcertificadoPK(TfirmcertificadoPK tfirmcertificadoPK) {
        this.tfirmcertificadoPK = tfirmcertificadoPK;
    }

    public Date getFvigencia() {
        return fvigencia;
    }

    public void setFvigencia(Date fvigencia) {
        this.fvigencia = fvigencia;
    }

    public Date getFingreso() {
        return fingreso;
    }

    public void setFingreso(Date fingreso) {
        this.fingreso = fingreso;
    }

    public String getCodigousuario() {
        return codigousuario;
    }

    public void setCodigousuario(String codigousuario) {
        this.codigousuario = codigousuario;
    }

    public String getCargo() {
        return cargo;
    }

    public void setCargo(String cargo) {
        this.cargo = cargo;
    }

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

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