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

import com.cosmodas.FacadeCosmos.ArticuloFacadeLocal;
import com.cosmodas.FacadeCosmos.ArticulosZonasTotalFacadeLocal;
import com.cosmodas.FacadeCosmos.VarticulosvszonarFacadeLocal;
import com.cosmodas.FacadeCosmos.SucursalesFacadeLocal;
import com.cosmodas.EntCosmos.ArticulosZonasTotal;
import com.cosmodas.EntCosmos.Sucursales;
import com.cosmodas.EntCosmos.Varticulosvszonar;
import com.cosmodas.EntCosmos.WcUsuarios;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.faces.view.ViewScoped;
import javax.inject.Inject;
import javax.inject.Named;
import org.primefaces.PrimeFaces;

/**
 *
 * @author obper
 */
@Named
@ViewScoped
public class PremiosBeans implements Serializable {

    private Varticulosvszonar presult = new Varticulosvszonar();
    private Varticulosvszonar presultselect;
    private ArticulosZonasTotal pzonas = new ArticulosZonasTotal();
    private String prodCod;
    private List<Varticulosvszonar> zonavsactual;
    private Varticulosvszonar zonavsSelect;
    private int exisActual;
    private int tomado;
    private ExternalContext exc;
    private List<Varticulosvszonar> ropaInterior;
    private List<ArticulosZonasTotal> listaZonas = new ArrayList<>();
    private List<Varticulosvszonar> listaResultadoZonas = new ArrayList();

    @Inject
    private Sucursales sucursal;

    @EJB
    ArticulosZonasTotalFacadeLocal articulosZonasTotalFacadeLocal;
    @EJB
    ArticuloFacadeLocal articuloFacadeLocal;
    @EJB
    VarticulosvszonarFacadeLocal varticulosvszonarFacadeLocal;
    @EJB
    SucursalesFacadeLocal sucursalesFacadeLocal;

    public List<Varticulosvszonar> getListaResultadoZonas() {
        List<Varticulosvszonar> total = varticulosvszonarFacadeLocal.busquedaPorSucursal(sucursal.getSucursalCodigo());  //daoR.productosPorSucursal(log.getUsersAndPass().getSucursal());
        return total;
    }

    public void setListaResultadoZonas(List<Varticulosvszonar> listaResultadoZonas) {
        this.listaResultadoZonas = listaResultadoZonas;
    }

    public Sucursales getSucursal() {
        return sucursal;
    }

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

    public List<ArticulosZonasTotal> getListaZonas() {
        return listaZonas;
    }

    public void setListaZonas(List<ArticulosZonasTotal> ListaZonas) {
        this.listaZonas = ListaZonas;
    }

    public int getExisActual() {
        return exisActual;
    }

    public void setExisActual(int exisActual) {
        this.exisActual = exisActual;
    }

    public int getTomado() {
        return tomado;
    }

    public void setTomado(int tomado) {
        this.tomado = tomado;
    }

    public String getProdCod() {
        return prodCod;
    }

    public void setProdCod(String prodCod) {
        this.prodCod = prodCod;
    }

    public Varticulosvszonar getZonavsSelect() {
        return zonavsSelect;
    }

    public void setZonavsSelect(Varticulosvszonar zonavsSelect) {
        this.zonavsSelect = zonavsSelect;
        setProdCod(zonavsSelect.getArticuloCodigo());
    }

    public Varticulosvszonar getPresultselect() {
        return presultselect;
    }

    public void setPresultselect(Varticulosvszonar presultselect) {
        this.presultselect = presultselect;
        setProdCod(presultselect.getArticuloCodigo());
        // this.exisActual = presultselect.getExistenciaActual();     
    }

    public List<Varticulosvszonar> getRopaInterior() {
        return ropaInterior;
    }

    public void setRopaInterior(List<Varticulosvszonar> ropaInterior) {
        this.ropaInterior = ropaInterior;
    }

    public ArticulosZonasTotal getPzonas() {
        return pzonas;
    }

    public void setPzonas(ArticulosZonasTotal pzonas) {
        this.pzonas = pzonas;
    }

    //----------result
    public Varticulosvszonar getPresult() {
        return presult;
    }

    public void setPresult(Varticulosvszonar presult) {
        this.presult = presult;
    }

    public void llenarTabla() {
        setListaZonas(articulosZonasTotalFacadeLocal.busquedaSucursalArticuloCodigo(Integer.valueOf(sucursal.getSucursalCodigo()), articuloFacadeLocal.find(getProdCod())));
    }

    public void tablaDeEdicion() {
        Map<String, Object> options = new HashMap<String, Object>();
        options.put("resizable", false);
        PrimeFaces.current().dialog().openDynamic("detalleInventarioZonas", options, null);
        //RequestContext.getCurrentInstance().openDialog();
    }

    public void borarSelection(Integer in) {
        FacesContext context = FacesContext.getCurrentInstance();
        ArticulosZonasTotal i = articulosZonasTotalFacadeLocal.find(in);
        context.addMessage(null, new FacesMessage("Eliminado", "Producto Eliminado" + i.getArticuloCodigo().getArticuloNombre()));
        articulosZonasTotalFacadeLocal.remove(i);
    }

    public PremiosBeans() {
    }

    public List<Varticulosvszonar> getZonavsactual() {
        return varticulosvszonarFacadeLocal.busquedaPorSucursal(sucursal.getSucursalCodigo());
    }

    @PostConstruct
    public void init() {
        this.exc = FacesContext.getCurrentInstance().getExternalContext();
        this.sucursal = (Sucursales) exc.getSessionMap().get("sucursal");
    }

}
