package com.fp.person.rules.query.code.sbs;

import java.util.List;

import javax.persistence.Query;

import com.fp.dto.query.DtoQuery;
import com.fp.dto.query.QueryRequest;
import com.fp.dto.rules.QueryRule;
import com.fp.persistence.commondb.GeneralQuery;
import com.fp.persistence.commondb.PersistenceHelper;

/**
 * Clase que se encarga de obtener una lista de empleados de la sbs.
 * @author Jorge Vaca.
 * @version 2.1
 */
/**
 * @author jorge
 *
 */
public class EmployeeLov extends QueryRule {

	/**
	 * Version por default de la clase.
	 */
	private static final long serialVersionUID = 1L;


	/* (non-Javadoc)
	 * @see com.fp.dto.rules.QueryRule#process(com.fp.dto.query.QueryRequest)
	 */
	@Override
	public QueryRequest process(QueryRequest pQueryRequest) throws Exception {
	    StringBuilder jpql = new StringBuilder(400);
	    jpql.append("select t.cod_emp, t.apellido, t.nombre, t.portal_user, t.num_cedula from vwempleados t where 1=1 ");
        DtoQuery dto = pQueryRequest.getQueryTables().get("EMPLOYEESBS");
        GeneralQuery.addParametersJSF(jpql, dto);
        Query qry = PersistenceHelper.getEntityManager().createNativeQuery(jpql.toString());
        GeneralQuery.setParametersNative(jpql, dto, qry);
        List<?> lemployee = qry.getResultList();
        pQueryRequest.getResponse().put("EMPLOYEESBS", lemployee);
		return pQueryRequest;
	}

}
