/*
 * 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.cosmodas.EntCosmos;

import java.io.Serializable;
import java.math.BigInteger;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlRootElement;

/**
 * @author obper
 */
@Entity
@Table(name = "Zonas_Vs_Actual")
@XmlRootElement
@NamedQueries({
        @NamedQuery(name = "ZonasVsActual.findAll", query = "SELECT z FROM ZonasVsActual z"),
        @NamedQuery(name = "ZonasVsActual.findBySucursalCodigo", query = "SELECT z FROM ZonasVsActual z WHERE z.sucursalCodigo = :sucursalCodigo"),
        @NamedQuery(name = "ZonasVsActual.findByProductoCodigo", query = "SELECT z FROM ZonasVsActual z WHERE z.productoCodigo = :productoCodigo"),
        @NamedQuery(name = "ZonasVsActual.findByProductoNombre", query = "SELECT z FROM ZonasVsActual z WHERE z.productoNombre = :productoNombre"),
        @NamedQuery(name = "ZonasVsActual.findByExistenciaActual", query = "SELECT z FROM ZonasVsActual z WHERE z.existenciaActual = :existenciaActual"),
        @NamedQuery(name = "ZonasVsActual.findByUnidades", query = "SELECT z FROM ZonasVsActual z WHERE z.unidades = :unidades"),
        @NamedQuery(name = "ZonasVsActual.findByDiferiencias", query = "SELECT z FROM ZonasVsActual z WHERE z.diferiencias = :diferiencias"),
        @NamedQuery(name = "ZonasVsActual.findByExedente", query = "SELECT z FROM ZonasVsActual z WHERE z.exedente = :exedente"),
        @NamedQuery(name = "ZonasVsActual.ropaInterior", query = "SELECT z FROM ZonasVsActual z WHERE z.diferiencias <> 0 AND z.productoCodigo BETWEEN '40000' AND '51800' and z.sucursalCodigo = :sucursalCodigo"),
        @NamedQuery(name = "ZonasVsActual.diferiencias", query = "SELECT z FROM ZonasVsActual z WHERE z.diferiencias <> 0 AND z.productoCodigo BETWEEN '00001' AND '39999' and z.sucursalCodigo = :sucursalCodigo and length(z.productoCodigo) = 5"),
        @NamedQuery(name = "ZonasVsActual.diferienciasPrem", query = "SELECT z FROM ZonasVsActual z WHERE z.diferiencias <> 0 AND z.productoCodigo BETWEEN '0000' AND '9999' and z.sucursalCodigo = :sucursalCodigo and length(z.productoCodigo) = 4"),
        @NamedQuery(name = "ZonasVsActual.BusquedaProd", query = "SELECT z FROM ZonasVsActual z WHERE z.productoCodigo BETWEEN '00001' AND '89000' and z.sucursalCodigo = :sucursalCodigo and LENGTH(z.productoCodigo) = 5"),
        @NamedQuery(name = "ZonasVsActual.findByFaltante", query = "SELECT z FROM ZonasVsActual z WHERE z.faltante = :faltante")})
public class ZonasVsActual implements Serializable {
    private static final long serialVersionUID = 1L;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 2)
    @Column(name = "sucursal_codigo")
    private String sucursalCodigo;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 5)
    @Column(name = "producto_codigo")
    @Id
    private String productoCodigo;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 75)
    @Column(name = "producto_nombre")
    private String productoNombre;
    @Basic(optional = false)
    @NotNull
    @Column(name = "existenciaActual")
    private int existenciaActual;
    @Basic(optional = false)
    @NotNull
    @Column(name = "unidades")
    private BigInteger unidades;
    @Basic(optional = false)
    @NotNull
    @Column(name = "diferiencias")
    private BigInteger diferiencias;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 32)
    @Column(name = "exedente")
    private String exedente;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 32)
    @Column(name = "faltante")
    private String faltante;

    public ZonasVsActual() {
    }

    public String getSucursalCodigo() {
        return sucursalCodigo;
    }

    public void setSucursalCodigo(String sucursalCodigo) {
        this.sucursalCodigo = sucursalCodigo;
    }

    public String getProductoCodigo() {
        return productoCodigo;
    }

    public void setProductoCodigo(String productoCodigo) {
        this.productoCodigo = productoCodigo;
    }

    public String getProductoNombre() {
        return productoNombre;
    }

    public void setProductoNombre(String productoNombre) {
        this.productoNombre = productoNombre;
    }

    public int getExistenciaActual() {
        return existenciaActual;
    }

    public void setExistenciaActual(int existenciaActual) {
        this.existenciaActual = existenciaActual;
    }

    public BigInteger getUnidades() {
        return unidades;
    }

    public void setUnidades(BigInteger unidades) {
        this.unidades = unidades;
    }

    public BigInteger getDiferiencias() {
        return diferiencias;
    }

    public void setDiferiencias(BigInteger diferiencias) {
        this.diferiencias = diferiencias;
    }

    public String getExedente() {
        return exedente;
    }

    public void setExedente(String exedente) {
        this.exedente = exedente;
    }

    public String getFaltante() {
        return faltante;
    }

    public void setFaltante(String faltante) {
        this.faltante = faltante;
    }

}
