80 lines
3.3 KiB
Plaintext
Executable File
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;
|
|
}
|
|
|
|
}
|