/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.contabilidad.EntConta;

import java.io.Serializable;
import java.math.BigDecimal;
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.validation.constraints.NotNull;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author obper
 */
@Entity
@Table(name = "pago_temporales")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "PagoTemporales.findAll", query = "SELECT p FROM PagoTemporales p"),
    @NamedQuery(name = "PagoTemporales.findByEmpCod", query = "SELECT p FROM PagoTemporales p WHERE p.pagoTemporalesPK.empCod = :empCod"),
    @NamedQuery(name = "PagoTemporales.findByPagoTurno", query = "SELECT p FROM PagoTemporales p WHERE p.pagoTurno = :pagoTurno"),
    @NamedQuery(name = "PagoTemporales.findByPagoDiurno", query = "SELECT p FROM PagoTemporales p WHERE p.pagoTemporalesPK.pagoDiurno = :pagoDiurno"),
    @NamedQuery(name = "PagoTemporales.findByPagoMinutos", query = "SELECT p FROM PagoTemporales p WHERE p.pagoMinutos = :pagoMinutos"),
    @NamedQuery(name = "PagoTemporales.findByPagoNocturno", query = "SELECT p FROM PagoTemporales p WHERE p.pagoNocturno = :pagoNocturno"),
    @NamedQuery(name = "PagoTemporales.findBySubTotal", query = "SELECT p FROM PagoTemporales p WHERE p.subTotal = :subTotal"),
    @NamedQuery(name = "PagoTemporales.findByRenta", query = "SELECT p FROM PagoTemporales p WHERE p.renta = :renta"),
    @NamedQuery(name = "PagoTemporales.findByTotalPago", query = "SELECT p FROM PagoTemporales p WHERE p.totalPago = :totalPago"),
    @NamedQuery(name = "PagoTemporales.findBySucursal", query = "SELECT p FROM PagoTemporales p WHERE p.sucursal = :sucursal"),
    @NamedQuery(name = "PagoTemporales.findByFecha", query = "SELECT p FROM PagoTemporales p WHERE p.pagoTemporalesPK.fecha = :fecha") //adicionales
    ,
    @NamedQuery(name = "PagoTemporales.EliminaPago", query = "DELETE FROM PagoTemporales p WHERE p.idDePago = :idDePago")})
public class PagoTemporales implements Serializable {

    private static final long serialVersionUID = 1L;
    @EmbeddedId
    protected PagoTemporalesPK pagoTemporalesPK;
    // @Max(value=?)  @Min(value=?)//if you know range of your decimal fields consider using these annotations to enforce field validation
    @Basic(optional = false)
    @NotNull
    @Column(name = "pago_turno")
    private BigDecimal pagoTurno;
    @Basic(optional = false)
    @NotNull
    @Column(name = "pago_minutos")
    private BigDecimal pagoMinutos;
    @Basic(optional = false)
    @NotNull
    @Column(name = "pago_nocturno")
    private BigDecimal pagoNocturno;
    @Basic(optional = false)
    @NotNull
    @Column(name = "sub_total")
    private BigDecimal subTotal;
    @Basic(optional = false)
    @NotNull
    @Column(name = "renta")
    private BigDecimal renta;
    @Basic(optional = false)
    @NotNull
    @Column(name = "total_pago")
    private BigDecimal totalPago;
    @Basic(optional = false)
    @NotNull
    @Column(name = "id_de_pago")
    private String idDePago;
    @Basic(optional = false)
    @NotNull
    @Column(name = "sucursal")
    private String sucursal;

    public PagoTemporales() {
    }

    public PagoTemporales(PagoTemporalesPK pagoTemporalesPK) {
        this.pagoTemporalesPK = pagoTemporalesPK;
    }

    public PagoTemporales(PagoTemporalesPK pagoTemporalesPK, BigDecimal pagoTurno, BigDecimal pagoMinutos, BigDecimal pagoNocturno, BigDecimal subTotal, BigDecimal renta, BigDecimal totalPago) {
        this.pagoTemporalesPK = pagoTemporalesPK;
        this.pagoTurno = pagoTurno;
        this.pagoMinutos = pagoMinutos;
        this.pagoNocturno = pagoNocturno;
        this.subTotal = subTotal;
        this.renta = renta;
        this.totalPago = totalPago;
    }

    public String getSucursal() {
        return sucursal;
    }

    public void setSucursal(String sucursal) {
        this.sucursal = sucursal;
    }   
    
    public PagoTemporales(String empCod, BigDecimal pagoDiurno, Date fecha) {
        this.pagoTemporalesPK = new PagoTemporalesPK(empCod, pagoDiurno, fecha);
    }

    public PagoTemporalesPK getPagoTemporalesPK() {
        return pagoTemporalesPK;
    }

    public void setPagoTemporalesPK(PagoTemporalesPK pagoTemporalesPK) {
        this.pagoTemporalesPK = pagoTemporalesPK;
    }

    public BigDecimal getPagoTurno() {
        return pagoTurno;
    }

    public void setPagoTurno(BigDecimal pagoTurno) {
        this.pagoTurno = pagoTurno;
    }

    public BigDecimal getPagoMinutos() {
        return pagoMinutos;
    }

    public void setPagoMinutos(BigDecimal pagoMinutos) {
        this.pagoMinutos = pagoMinutos;
    }

    public BigDecimal getPagoNocturno() {
        return pagoNocturno;
    }

    public void setPagoNocturno(BigDecimal pagoNocturno) {
        this.pagoNocturno = pagoNocturno;
    }

    public BigDecimal getSubTotal() {
        return subTotal;
    }

    public void setSubTotal(BigDecimal subTotal) {
        this.subTotal = subTotal;
    }

    public BigDecimal getRenta() {
        return renta;
    }

    public void setRenta(BigDecimal renta) {
        this.renta = renta;
    }

    public BigDecimal getTotalPago() {
        return totalPago;
    }

    public void setTotalPago(BigDecimal totalPago) {
        this.totalPago = totalPago;
    }

    public String getIdDePago() {
        return idDePago;
    }

    public void setIdDePago(String idDePago) {
        this.idDePago = idDePago;
    }

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

    @Override
    public String toString() {
        return "com.contabilidad.dbcom.PagoTemporales[ pagoTemporalesPK=" + pagoTemporalesPK + " ]";
    }

}
