package com.contabilidad.FacadeConta;

import com.contabilidad.EntConta.Permisosempleados;

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

@Stateless
public class PermisosempleadosFacade extends AbstractFacade<Permisosempleados> implements PermisosempleadosFacadeLocal {

    @PersistenceContext(unitName = "contabilidad")
    private EntityManager em;

    @Override
    protected EntityManager getEntityManager() {
        return em;
    }

    public PermisosempleadosFacade() {
        super(Permisosempleados.class);
    }

    @Override
    public List<Permisosempleados> obtenerPermisosPorFecha(Date inicio, Date fin){

        List<Permisosempleados> rs = new ArrayList<>();
        Query q = em.createNativeQuery("SELECT  * from permisosempleados where fecha between ? and ?",Permisosempleados.class);
        q.setParameter(1, inicio);
        q.setParameter(2, fin);

        rs.addAll(q.getResultList());
        return rs;

    }

    @Override
    public  String obtenerNuevoCodigoEmpP(String letraApellido){
        StringBuilder out = new StringBuilder("select nuevo_empleado_cod(?)");
        Query q = em.createNativeQuery(out.toString());
        q.setParameter(1,letraApellido);

        return (String) q.getResultList().get(0);

    }

    @Override
    public Permisosempleados crearPermios(Permisosempleados p){

        em.persist(p);
        return p;

    }


}
