/*
 * 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 java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 * @author obper
 */
@Entity
@Table(name = "vProceso_de_pedidos")
@NamedQueries({
        @NamedQuery(name = "VProcesodepedidos.findAll", query = "SELECT v FROM VProcesodepedidos v")
        , @NamedQuery(name = "VProcesodepedidos.findById", query = "SELECT v FROM VProcesodepedidos v WHERE v.id = :id")
        , @NamedQuery(name = "VProcesodepedidos.findByNumeroPedido", query = "SELECT v FROM VProcesodepedidos v WHERE v.numeroPedido = :numeroPedido")
        , @NamedQuery(name = "VProcesodepedidos.findByNumeroPedido&terr", query = "SELECT v FROM VProcesodepedidos v WHERE v.numeroPedido = :numeroPedido and v.territorio = :territorio")
        , @NamedQuery(name = "VProcesodepedidos.findByTerritorio", query = "SELECT v FROM VProcesodepedidos v WHERE v.territorio = :territorio")
        , @NamedQuery(name = "VProcesodepedidos.findByConsultorCodigo", query = "SELECT v FROM VProcesodepedidos v WHERE v.consultorCodigo = :consultorCodigo")
        , @NamedQuery(name = "VProcesodepedidos.findByConsultorCodigoMAx", query = "SELECT v FROM VProcesodepedidos v WHERE v.consultorCodigo = :consultorCodigo ORDER BY v.ingresoPedido DESC")
        , @NamedQuery(name = "VProcesodepedidos.findByProgramaCodigo", query = "SELECT v FROM VProcesodepedidos v WHERE v.programaCodigo = :programaCodigo")
        , @NamedQuery(name = "VProcesodepedidos.findByPedidoFecha", query = "SELECT v FROM VProcesodepedidos v WHERE v.pedidoFecha = :pedidoFecha")
        , @NamedQuery(name = "VProcesodepedidos.findByFacturaTotalConDescuento", query = "SELECT v FROM VProcesodepedidos v WHERE v.facturaTotalConDescuento = :facturaTotalConDescuento")
        , @NamedQuery(name = "VProcesodepedidos.findByFacturaTotalSinDescuento", query = "SELECT v FROM VProcesodepedidos v WHERE v.facturaTotalSinDescuento = :facturaTotalSinDescuento")
        , @NamedQuery(name = "VProcesodepedidos.findByAprobado", query = "SELECT v FROM VProcesodepedidos v WHERE v.aprobado = :aprobado")
        , @NamedQuery(name = "VProcesodepedidos.findByTiempoAprobado", query = "SELECT v FROM VProcesodepedidos v WHERE v.tiempoAprobado = :tiempoAprobado")
        , @NamedQuery(name = "VProcesodepedidos.findByPedidoCredito", query = "SELECT v FROM VProcesodepedidos v WHERE v.pedidoCredito = :pedidoCredito")
        , @NamedQuery(name = "VProcesodepedidos.findByPedidoReparto", query = "SELECT v FROM VProcesodepedidos v WHERE v.pedidoReparto = :pedidoReparto")
        , @NamedQuery(name = "VProcesodepedidos.findBySucursal", query = "SELECT v FROM VProcesodepedidos v WHERE v.sucursal = :sucursal")
        , @NamedQuery(name = "VProcesodepedidos.findByLeePedido", query = "SELECT v FROM VProcesodepedidos v WHERE v.leePedido = :leePedido")
        , @NamedQuery(name = "VProcesodepedidos.findByLeePedidoB", query = "SELECT v FROM VProcesodepedidos v WHERE v.leePedidoB = :leePedidoB")
        , @NamedQuery(name = "VProcesodepedidos.findByFinSacado", query = "SELECT v FROM VProcesodepedidos v WHERE v.finSacado = :finSacado")
        , @NamedQuery(name = "VProcesodepedidos.findByFinSacadoB", query = "SELECT v FROM VProcesodepedidos v WHERE v.finSacadoB = :finSacadoB")
        , @NamedQuery(name = "VProcesodepedidos.findByInicioFacturacion", query = "SELECT v FROM VProcesodepedidos v WHERE v.inicioFacturacion = :inicioFacturacion")
        , @NamedQuery(name = "VProcesodepedidos.findByDespachado", query = "SELECT v FROM VProcesodepedidos v WHERE v.despachado = :despachado")
        , @NamedQuery(name = "VProcesodepedidos.findByDespachadoB", query = "SELECT v FROM VProcesodepedidos v WHERE v.despachadoB = :despachadoB")
        , @NamedQuery(name = "VProcesodepedidos.findByAnulado", query = "SELECT v FROM VProcesodepedidos v WHERE v.anulado = :anulado")
        , @NamedQuery(name = "VProcesodepedidos.findByNumeracionDiaria", query = "SELECT v FROM VProcesodepedidos v WHERE v.numeracionDiaria = :numeracionDiaria")
        , @NamedQuery(name = "VProcesodepedidos.findByUsuarioApruebaPed", query = "SELECT v FROM VProcesodepedidos v WHERE v.usuarioApruebaPed = :usuarioApruebaPed")
        , @NamedQuery(name = "VProcesodepedidos.findByUsuarioPedido", query = "SELECT v FROM VProcesodepedidos v WHERE v.usuarioPedido = :usuarioPedido")
        , @NamedQuery(name = "VProcesodepedidos.findByPedidoCorrelativoReparto", query = "SELECT v FROM VProcesodepedidos v WHERE v.pedidoCorrelativoReparto = :pedidoCorrelativoReparto")})
public class VProcesodepedidos implements Serializable {

    private static final long serialVersionUID = 1L;
    @NotNull
    @Column(name = "id")
    @Id
    private int id;
    @Size(max = 8)
    @Column(name = "numero_pedido")
    private String numeroPedido;
    @Size(max = 2)
    @Column(name = "territorio")
    private String territorio;
    @NotNull
    @Size(min = 1, max = 6)
    @Column(name = "consultor_codigo")
    private String consultorCodigo;
    @NotNull
    @Size(min = 1, max = 3)
    @Column(name = "programa_codigo")
    private String programaCodigo;
    @NotNull
    @Column(name = "pedido_fecha")
    @Temporal(TemporalType.DATE)
    private Date pedidoFecha;
    // @Max(value=?)  @Min(value=?)//if you know range of your decimal fields consider using these annotations to enforce field validation
    @Column(name = "factura_total_con_descuento")
    private BigDecimal facturaTotalConDescuento;
    @Column(name = "factura_total_sin_descuento")
    private BigDecimal facturaTotalSinDescuento;
    @Column(name = "aprobado")
    private Integer aprobado;
    @Column(name = "tiempo_aprobado")
    @Temporal(TemporalType.TIMESTAMP)
    private Date tiempoAprobado;
    @Column(name = "pedido_credito")
    private boolean pedidoCredito;
    @Column(name = "inicio_facturacion_b")
    private boolean inicioFacturacionB;
    @Column(name = "pedido_reparto")
    private boolean pedidoReparto;
    @Column(name = "sucursal")
    private String sucursal;
    @Column(name = "ingreso_pedido")
    @Temporal(TemporalType.TIMESTAMP)
    private Date ingresoPedido;
    @Column(name = "lee_pedido")
    @Temporal(TemporalType.TIMESTAMP)
    private Date leePedido;
    @Column(name = "lee_pedido_b")
    private Boolean leePedidoB;
    @Column(name = "fin_sacado")
    @Temporal(TemporalType.TIMESTAMP)
    private Date finSacado;
    @Column(name = "fin_sacado_b")
    private Boolean finSacadoB;
    @Column(name = "inicio_facturacion")
    @Temporal(TemporalType.TIMESTAMP)
    private Date inicioFacturacion;
    @Column(name = "despachado")
    @Temporal(TemporalType.TIMESTAMP)
    private Date despachado;
    @Column(name = "despachado_b")
    private Boolean despachadoB;
    @Column(name = "anulado")
    private Boolean anulado;
    @Column(name = "numeracion_diaria")
    private Integer numeracionDiaria;
    @Size(max = 45)
    @Column(name = "usuario_aprueba_ped")
    private String usuarioApruebaPed;
    @Size(max = 45)
    @Column(name = "usuario_pedido")
    private String usuarioPedido;
    @Size(max = 4)
    @Column(name = "pedido_correlativo_reparto")
    private String pedidoCorrelativoReparto;
    @Lob
    @Size(max = 65535)
    @Column(name = "observaciones")
    private String observaciones;
    @Size(max = 100)
    @Column(name = "observaciones_reparto")
    private String observacionesReparto;
    @Size(max = 45)
    @Column(name = "tipo_pedido")
    private String tipoPedido;
    @NotNull
    @Column(name = "fecha_hora_retira")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechaHoraRetira;
    @Column(name = "tipo_reparto")
    private Integer tipoReparto;
    @Column(name = "liberado")
    private Boolean liberado;

    public VProcesodepedidos() {
    }

    public Boolean getLiberado() {
        return liberado;
    }

    public void setLiberado(Boolean liberado) {
        this.liberado = liberado;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getNumeroPedido() {
        return numeroPedido;
    }

    public void setNumeroPedido(String numeroPedido) {
        this.numeroPedido = numeroPedido;
    }

    public String getTerritorio() {
        return territorio;
    }

    public void setTerritorio(String territorio) {
        this.territorio = territorio;
    }

    public String getConsultorCodigo() {
        return consultorCodigo;
    }

    public void setConsultorCodigo(String consultorCodigo) {
        this.consultorCodigo = consultorCodigo;
    }

    public String getProgramaCodigo() {
        return programaCodigo;
    }

    public void setProgramaCodigo(String programaCodigo) {
        this.programaCodigo = programaCodigo;
    }

    public Date getPedidoFecha() {
        return pedidoFecha;
    }

    public void setPedidoFecha(Date pedidoFecha) {
        this.pedidoFecha = pedidoFecha;
    }

    public BigDecimal getFacturaTotalConDescuento() {
        return facturaTotalConDescuento;
    }

    public void setFacturaTotalConDescuento(BigDecimal facturaTotalConDescuento) {
        this.facturaTotalConDescuento = facturaTotalConDescuento;
    }

    public BigDecimal getFacturaTotalSinDescuento() {
        return facturaTotalSinDescuento;
    }

    public void setFacturaTotalSinDescuento(BigDecimal facturaTotalSinDescuento) {
        this.facturaTotalSinDescuento = facturaTotalSinDescuento;
    }

    public Integer getAprobado() {
        return aprobado;
    }

    public void setAprobado(Integer aprobado) {
        this.aprobado = aprobado;
    }

    public Date getTiempoAprobado() {
        return tiempoAprobado;
    }

    public void setTiempoAprobado(Date tiempoAprobado) {
        this.tiempoAprobado = tiempoAprobado;
    }

    public boolean getPedidoCredito() {
        return pedidoCredito;
    }

    public void setPedidoCredito(boolean pedidoCredito) {
        this.pedidoCredito = pedidoCredito;
    }

    public boolean getPedidoReparto() {
        return pedidoReparto;
    }

    public void setPedidoReparto(boolean pedidoReparto) {
        this.pedidoReparto = pedidoReparto;
    }

    public String getSucursal() {
        return sucursal;
    }

    public void setSucursal(String sucursal) {
        this.sucursal = sucursal;
    }

    public Date getLeePedido() {
        return leePedido;
    }

    public void setLeePedido(Date leePedido) {
        this.leePedido = leePedido;
    }

    public Boolean getLeePedidoB() {
        return leePedidoB;
    }

    public void setLeePedidoB(Boolean leePedidoB) {
        this.leePedidoB = leePedidoB;
    }

    public Date getFinSacado() {
        return finSacado;
    }

    public void setFinSacado(Date finSacado) {
        this.finSacado = finSacado;
    }

    public Boolean getFinSacadoB() {
        return finSacadoB;
    }

    public void setFinSacadoB(Boolean finSacadoB) {
        this.finSacadoB = finSacadoB;
    }

    public Date getInicioFacturacion() {
        return inicioFacturacion;
    }

    public void setInicioFacturacion(Date inicioFacturacion) {
        this.inicioFacturacion = inicioFacturacion;
    }

    public Date getDespachado() {
        return despachado;
    }

    public void setDespachado(Date despachado) {
        this.despachado = despachado;
    }

    public Boolean getDespachadoB() {
        return despachadoB;
    }

    public void setDespachadoB(Boolean despachadoB) {
        this.despachadoB = despachadoB;
    }

    public Boolean getAnulado() {
        return anulado;
    }

    public void setAnulado(Boolean anulado) {
        this.anulado = anulado;
    }

    public Integer getNumeracionDiaria() {
        return numeracionDiaria;
    }

    public void setNumeracionDiaria(Integer numeracionDiaria) {
        this.numeracionDiaria = numeracionDiaria;
    }

    public String getUsuarioApruebaPed() {
        return usuarioApruebaPed;
    }

    public void setUsuarioApruebaPed(String usuarioApruebaPed) {
        this.usuarioApruebaPed = usuarioApruebaPed;
    }

    public String getUsuarioPedido() {
        return usuarioPedido;
    }

    public void setUsuarioPedido(String usuarioPedido) {
        this.usuarioPedido = usuarioPedido;
    }

    public String getPedidoCorrelativoReparto() {
        return pedidoCorrelativoReparto;
    }

    public void setPedidoCorrelativoReparto(String pedidoCorrelativoReparto) {
        this.pedidoCorrelativoReparto = pedidoCorrelativoReparto;
    }

    public Date getIngresoPedido() {
        return ingresoPedido;
    }

    public void setIngresoPedido(Date ingresoPedido) {
        this.ingresoPedido = ingresoPedido;
    }

    public String getObservaciones() {
        return observaciones;
    }

    public void setObservaciones(String observaciones) {
        this.observaciones = observaciones;
    }

    public String getObservacionesReparto() {
        return observacionesReparto;
    }

    public void setObservacionesReparto(String observacionesReparto) {
        this.observacionesReparto = observacionesReparto;
    }

    public boolean getInicioFacturacionB() {
        return inicioFacturacionB;
    }

    public void setInicioFacturacionB(boolean inicioFacturacionB) {
        this.inicioFacturacionB = inicioFacturacionB;
    }

    public String getTipoPedido() {
        return tipoPedido;
    }

    public void setTipoPedido(String tipoPedido) {
        this.tipoPedido = tipoPedido;
    }

    public Date getFechaHoraRetira() {
        return fechaHoraRetira;
    }

    public void setFechaHoraRetira(Date fechaHoraRetira) {
        this.fechaHoraRetira = fechaHoraRetira;
    }


    public Integer getTipoReparto() {
        return tipoReparto;
    }

    public void setTipoReparto(Integer tipoReparto) {
        this.tipoReparto = tipoReparto;
    }
}
