maia/.svn/pristine/48/4839724fdae16db1e934abbf296...

80 lines
3.3 KiB
Plaintext
Executable File

package com.fp.persistence.pviaticos.hra;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.persistence.Query;
import com.fp.bpm.query.QueryJsf;
import com.fp.dto.query.DtoQuery;
import com.fp.persistence.commondb.PersistenceHelper;
/**
* Clase que se encarga de consultar información de la vista HRA.VWDATOSEMPLEADOS.
*
* @author Jorge Vaca.
* @version 2.1
*/
public class EmpleadoJpql extends QueryJsf {
private static String SQL = "select codigo_empleado, apellidos ||' '||nombres as nombre, cedula, codigo_puesto as cargo, nombre_puesto as nomcargo, correo, "
+ "banco, tipo_cuenta,cuenta, codigo_area, nombre_area, codigo_jefe, codigo_responsable,"
+ "( select unique(apellidos ||' '||nombres) from HRA.VWDATOSEMPLEADOS i where i.codigo_empleado = t.codigo_jefe) as njefe, "
+ "( select unique(apellidos ||' '||nombres) from HRA.VWDATOSEMPLEADOS i where i.codigo_empleado = t.codigo_responsable) as nrespunidad, "
+ "(select i.nombre_puesto from HRA.VWDATOSEMPLEADOS i where i.CODIGO_EMPLEADO = t.CODIGO_JEFE) as cargo_jefe, "
+ "(select i.nombre_puesto from HRA.VWDATOSEMPLEADOS i where i.CODIGO_EMPLEADO = t.CODIGO_RESPONSABLE) as cargo_supervisor, "
+ "usuario_web, codigo_localidad, estado, "
+ "(select cd.description from tgenecatalogdetail cd where cd.catalogcode = 'CUDADORIGEN' and cd.catalog = t.codigo_localidad) as localidad"
+ " from HRA.VWDATOSEMPLEADOS t";
/**
*
* @param codigoEmpleado Codigo de empleado
* @return Empleado
* @throws Exception
*/
public Empleado find(String codigoEmpleado) throws Exception {
Map<String, String> mcriterios = new HashMap<>();
mcriterios.put("codigo_empleado", codigoEmpleado);
DtoQuery dtoquery = new DtoQuery("com.fp.persistence.pviaticos.hra.Empleado", mcriterios);
Empleado emp = this.find(dtoquery).get(0);
return emp;
}
/**
*
* @param codigoUsuarioWeb Codigo de usuario web.
* @return Empleado
* @throws Exception
*/
public Empleado findPorUsuarioWeb(String codigoUsuarioWeb) throws Exception {
Map<String, String> mcriterios = new HashMap<>();
mcriterios.put("usuario_web", codigoUsuarioWeb.toLowerCase());
DtoQuery dtoquery = new DtoQuery("com.fp.persistence.pviaticos.hra.Empleado", mcriterios);
List<Empleado> empleados = this.find(dtoquery);
Empleado emp = null;
if (!empleados.isEmpty()) {
emp = empleados.get(0);
}
return emp;
}
@SuppressWarnings("unchecked")
public List<Empleado> find(DtoQuery dtoquery) throws Exception {
List<Empleado> ldata = new ArrayList<>();
where = new StringBuffer(46);
super.mparameter.clear();
super.buildCriteria(dtoquery);
Query qry = PersistenceHelper.getEntityManager().createNativeQuery(EmpleadoJpql.SQL + (super.where == null ? "" : super.where.toString()));
super.setParameters(dtoquery, qry);
List<Object[]> lresp = qry.getResultList();
for (Object[] obj : lresp) {
ldata.add(Empleado.cerar(obj));
}
return ldata;
}
}