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

import com.cosmodas.EntCosmos.Presult;
import com.cosmodas.EntCosmos.Productos;
import com.cosmodas.EntCosmos.ProductosZonasTotal;
import com.cosmodas.EntCosmos.ZonasVsActual;

import java.util.ArrayList;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

/**
 * @author obper
 */
@Stateless
public class daoResutados implements daoResutadosLocal {
    @PersistenceContext(unitName = "wcosmodasPersistent")
    EntityManager em;

    @Override
    public List<Presult> allData() {
        return em.createNamedQuery("Presult.findAll").getResultList();
    }


    @Override
    public List<ProductosZonasTotal> ProductosPorCodigo(String prodCod) {
       // javax.persistence.Query Consulta = em.createNamedQuery("ProductosZonas.findByProductoCodigo");
      //  Consulta.setParameter("productoCodigo", prodCod);
        List<ProductosZonasTotal> listas = new ArrayList<>();
       // listas = Consulta.getResultList();
        //em.createNamedQuery("ProductosZonas.findByProductoCodigo").getResultList();
        return listas;
    }

    @Override
    public List<ZonasVsActual> RopaInterior(String sucursalCodigo) {
        Query q = em.createNamedQuery("ZonasVsActual.ropaInterior");
        q.setParameter("sucursalCodigo", sucursalCodigo);
        return q.getResultList();
    }


    @Override
    public List<ZonasVsActual> productosPorSucursal(String sucursalCodigo) {
        Query q = em.createNativeQuery("select * from Zonas_Vs_Actual z where z.producto_codigo   BETWEEN '00001' AND '89000' and LENGTH(z.producto_codigo) = 5 and z.sucursal_codigo = ?", ZonasVsActual.class);
        q.setParameter(1, sucursalCodigo);
        return q.getResultList();
    }

    @Override
    public List<ProductosZonasTotal> productosTotalCodigo(String sucursalCodigo, Productos productoCodigo) {
        Query q = em.createNamedQuery("ProductosZonasTotal.findBySucursalCodigoAndProducto");
        q.setParameter("sucursalCodigo", sucursalCodigo);
        q.setParameter("productoCodigo", productoCodigo);

        return q.getResultList();
    }

    @Override
    public List<ZonasVsActual> diferiencias(String sucursalCodigo) {
        Query q = em.createNamedQuery("ZonasVsActual.diferiencias");
        q.setParameter("sucursalCodigo", sucursalCodigo);
        return q.getResultList();
    }

    @Override
    public List<ZonasVsActual> diferienciasProm(String sucursalCodigo) {
        Query q = em.createNamedQuery("ZonasVsActual.diferienciasPrem");
        q.setParameter("sucursalCodigo", sucursalCodigo);
        return q.getResultList();
    }

}
