package com.cosmodas.requisiscion;

import com.cosmodas.EntCosmos.VproductosRequisicion;
import com.cosmodas.EntCosmos.WcDetalleRequisicionProducto;
import com.cosmodas.EntCosmos.WcRequisicionProducto;
import com.cosmodas.FacadeCosmos.*;
import net.sf.jasperreports.engine.JasperPrint;

import javax.ejb.EJB;
import javax.faces.bean.ViewScoped;
import javax.faces.context.ExternalContext;
import javax.inject.Named;
import javax.servlet.http.HttpSession;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

@ViewScoped
@Named(value = "bprocesoRequicision")
public class bprocesoRequicision implements Serializable {


    @EJB
    VproductosRequisicionFacadeLocal vprfl;
    @EJB
    WcRequisicionProductoFacadeLocal wcrfl;
    @EJB
    WcDetalleRequisicionProductoFacadeLocal wcdrfl;
    @EJB
    GeneralesFacadeLocal generalesDao;
    @EJB
    SucursalesFacadeLocal sfl;

    private List<WcRequisicionProducto> requisicionProductosSala;
    private WcRequisicionProducto requisicionProducto;
    private WcRequisicionProducto requiscion;
    private WcRequisicionProducto requiscionSelect;
    private List<WcRequisicionProducto> listaRequsiciones;
    private String[] selectTerritorio;
    private ExternalContext exc;
    private HttpSession session;
    private JasperPrint jasperPrint;
    private String alarmaPedidos;



    public void obtenerDatosRemision(WcRequisicionProducto input){


        requiscionSelect = input;
        List<CuerpoRequisicionData> dremision = new ArrayList<>();


        for (WcDetalleRequisicionProducto drp : input.getWcDetalleRequisicionProductoList()){

            CuerpoRequisicionData c = new CuerpoRequisicionData();
            VproductosRequisicion cpd = new VproductosRequisicion();
            cpd =vprfl.busquedaPorCodigo(input.getSalaOrigen() , input.getProgramaRequisicion() , drp.getWcDetalleRequisicionProductoPK().getProductoCodigo());

            c.setExistencias(cpd.getActual());
            c.setProductoCodigo(drp.getWcDetalleRequisicionProductoPK().getProductoCodigo());
            c.setCantidadPedida(drp.getCantidadPedida());
            c.setProductoNombre(cpd.getProducto());
            if (drp.getCantidadPedida() < 0){
                c.setCantidadEnviada(drp.getCantidadPedida());
            }else{
                c.setCantidadEnviada(drp.getCantidadEnviada());
            }



            dremision.add(c);
        }

       // numeroRemision =  wcrfl.obtenerNuevoRemision();
       // setNumeroRemision(numeroRemision);
      //  detallePedido = new ArrayList<>();
      ///  detallePedido.addAll(dremision);

    }

    public bprocesoRequicision() {
    }
}
