/*
 * 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.BigDecimal;
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 = "vAutoAjuste")
@XmlRootElement
@NamedQueries({
        @NamedQuery(name = "VAutoAjuste.findAll", query = "SELECT v FROM VAutoAjuste v"),
        @NamedQuery(name = "VAutoAjuste.findByResultado", query = "SELECT v FROM VAutoAjuste v WHERE v.resultado = :resultado"),
        @NamedQuery(name = "VAutoAjuste.findBySucursalCodigo", query = "SELECT v FROM VAutoAjuste v WHERE v.sucursalCodigo = :sucursalCodigo"),
        @NamedQuery(name = "VAutoAjuste.findByProductoCodigo", query = "SELECT v FROM VAutoAjuste v WHERE v.productoCodigo = :productoCodigo"),
        @NamedQuery(name = "VAutoAjuste.findByDetalleAjusteCantidad", query = "SELECT v FROM VAutoAjuste v WHERE v.detalleAjusteCantidad = :detalleAjusteCantidad"),
        @NamedQuery(name = "VAutoAjuste.findByDetalleAjustePrecio", query = "SELECT v FROM VAutoAjuste v WHERE v.detalleAjustePrecio = :detalleAjustePrecio"),
        @NamedQuery(name = "VAutoAjuste.findByDetalleAjusteTipo", query = "SELECT v FROM VAutoAjuste v WHERE v.detalleAjusteTipo = :detalleAjusteTipo"),
        @NamedQuery(name = "VAutoAjuste.salidas", query = "SELECT v FROM VAutoAjuste v WHERE v.resultado < 0 and v.sucursalCodigo = :sucursalCodigo"),
        @NamedQuery(name = "VAutoAjuste.entradas", query = "SELECT v FROM VAutoAjuste v WHERE v.resultado > 0 and v.sucursalCodigo = :sucursalCodigo"),
        @NamedQuery(name = "VAutoAjuste.ajustes", query = "SELECT v FROM VAutoAjuste v WHERE v.resultado != 0 and v.sucursalCodigo = :sucursalCodigo")})
public class VAutoAjuste implements Serializable {
    private static final long serialVersionUID = 1L;
    @Basic(optional = false)
    @NotNull
    @Column(name = "resultado")
    private Integer resultado;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 2)
    @Column(name = "sucursal_codigo")
    @Id
    private String sucursalCodigo;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 5)
    @Id
    @Column(name = "producto_codigo")
    private String productoCodigo;
    @Basic(optional = false)
    @NotNull
    @Column(name = "detalle_ajuste_cantidad")
    private int detalleAjusteCantidad;
    // @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 = "detalle_ajuste_precio")
    private BigDecimal detalleAjustePrecio;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 8)
    @Column(name = "detalle_ajuste_tipo")
    private String detalleAjusteTipo;

    public VAutoAjuste() {
    }

    public Integer getResultado() {
        return resultado;
    }

    public void setResultado(Integer resultado) {
        this.resultado = resultado;
    }

    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 int getDetalleAjusteCantidad() {
        return detalleAjusteCantidad;
    }

    public void setDetalleAjusteCantidad(int detalleAjusteCantidad) {
        this.detalleAjusteCantidad = detalleAjusteCantidad;
    }

    public BigDecimal getDetalleAjustePrecio() {
        return detalleAjustePrecio;
    }

    public void setDetalleAjustePrecio(BigDecimal detalleAjustePrecio) {
        this.detalleAjustePrecio = detalleAjustePrecio;
    }

    public String getDetalleAjusteTipo() {
        return detalleAjusteTipo;
    }

    public void setDetalleAjusteTipo(String detalleAjusteTipo) {
        this.detalleAjusteTipo = detalleAjusteTipo;
    }

}
