package com.cosmodas.EntCosmos;

import javax.persistence.*;
import javax.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;

@Entity
@Table(name = "wc_detalle_requisicion_productopapel")
@XmlRootElement
@NamedQueries({
        @NamedQuery(name = "WcDetalleRequisicionProductopapel.findAll", query = "SELECT w FROM WcDetalleRequisicionProductopapel w"),
        @NamedQuery(name = "WcDetalleRequisicionProductopapel.findByIdrepp", query = "SELECT w FROM WcDetalleRequisicionProductopapel w WHERE w.wcDetalleRequisicionProductopapelPK.idrepp = :idrepp"),
        @NamedQuery(name = "WcDetalleRequisicionProductopapel.findByCodigoPapeleria", query = "SELECT w FROM WcDetalleRequisicionProductopapel w WHERE w.wcDetalleRequisicionProductopapelPK.codigoPapeleria = :codigoPapeleria"),
        @NamedQuery(name = "WcDetalleRequisicionProductopapel.findByCantidadPedida", query = "SELECT w FROM WcDetalleRequisicionProductopapel w WHERE w.cantidadPedida = :cantidadPedida"),
        @NamedQuery(name = "WcDetalleRequisicionProductopapel.findByCantidadEnviada", query = "SELECT w FROM WcDetalleRequisicionProductopapel w WHERE w.cantidadEnviada = :cantidadEnviada"),
        @NamedQuery(name = "WcDetalleRequisicionProductopapel.findByTipoProducto", query = "SELECT w FROM WcDetalleRequisicionProductopapel w WHERE w.tipoProducto = :tipoProducto")})

public class WcDetalleRequisicionProductopapel implements Serializable {

    private static final long serialVersionUID = 1L;

    @EmbeddedId
    protected WcDetalleRequisicionProductopapelPK wcDetalleRequisicionProductopapelPK;

    @Column(name = "cantidadpedida")
    private Integer cantidadPedida;
    @Column(name = "cantidadenviada")
    private Integer cantidadEnviada;
    @Column(name = "tipo_producto")
    private Integer tipoProducto;

    @JoinColumn(name = "idrepp", referencedColumnName = "idrepp", insertable = false, updatable = false)
    @ManyToOne(optional = false)
    private WcrequisicionProductopapel wcrequisicionProductopapel;

    public WcDetalleRequisicionProductopapel() {
    }

    public WcDetalleRequisicionProductopapel(WcDetalleRequisicionProductopapelPK wcDetalleRequisicionProductopapelPK) {
        this.wcDetalleRequisicionProductopapelPK = wcDetalleRequisicionProductopapelPK;
    }

    public WcDetalleRequisicionProductopapel(int idrepp, String codigoPapeleria) {
        this.wcDetalleRequisicionProductopapelPK = new WcDetalleRequisicionProductopapelPK(idrepp, codigoPapeleria);
    }
    public WcDetalleRequisicionProductopapelPK getWcDetalleRequisicionProductopapelPK() {
        return wcDetalleRequisicionProductopapelPK;
    }

    public void setWcDetalleRequisicionProductopapelPK(WcDetalleRequisicionProductopapelPK wcDetalleRequisicionProductopapelPK) {
        this.wcDetalleRequisicionProductopapelPK = wcDetalleRequisicionProductopapelPK;
    }


    public Integer getCantidadPedida() {
        return cantidadPedida;
    }

    public void setCantidadPedida(Integer cantidadPedida) {
        this.cantidadPedida = cantidadPedida;
    }

    public Integer getCantidadEnviada() {
        return cantidadEnviada;
    }

    public void setCantidadEnviada(Integer cantidadEnviada) {
        this.cantidadEnviada = cantidadEnviada;
    }

    public Integer getTipoProducto() {
        return tipoProducto;
    }

    public void setTipoProducto(Integer tipoProducto) {
        this.tipoProducto = tipoProducto;
    }

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

    @Override
    public String toString() {
        return "com.cosmodas.dbcon.WcDetalleRequisicionProductopapel[ wcDetalleRequisicionProductopapelPK=" + wcDetalleRequisicionProductopapelPK + " ]";
    }

}
