List of usage examples for org.hibernate.transform BasicTransformerAdapter BasicTransformerAdapter
BasicTransformerAdapter
From source file:mx.org.inai.viajesclaros.services.BusquedaService.java
License:Open Source License
public List<FiltroBusquedaModel> getFiltrosByDependencia(Integer idDependencia) { Session session = em.unwrap(Session.class); List<FiltroBusquedaModel> filtros = session.createSQLQuery("CALL get_filtros_por_dependencia(:idDep)") .setParameter("idDep", idDependencia).setResultTransformer(new BasicTransformerAdapter() { private static final long serialVersionUID = 1L; @Override//w w w .ja v a 2s . co m public Object transformTuple(Object[] tuple, String[] aliases) { Integer id = (Integer) tuple[0]; String campo = (String) tuple[2]; String descripcion = (String) tuple[3]; String tipoDato = (String) tuple[4]; String tipoControl = (String) tuple[5]; String comparador = (String) tuple[6]; Integer idCatalogo = (Integer) tuple[7]; return new FiltroBusquedaModel(id, campo, descripcion, tipoControl, tipoDato, idCatalogo, comparador); } }).list(); /* Si el filtro es catlogo, se deben traer los elementos del catlogo */ for (FiltroBusquedaModel f : filtros) { if (f.getIdCatalogo() != null && f.getIdCatalogo() > 0) { List<ValorListaModel> cat = session .createSQLQuery("CALL get_valores_dinamicos_por_id_lista(:idLista)") .setParameter("idLista", f.getIdCatalogo()) .setResultTransformer(new BasicTransformerAdapter() { private static final long serialVersionUID = 1L; @Override public Object transformTuple(Object[] tuple, String[] aliases) { ValorListaModel valor = new ValorListaModel(); valor.setIdLista((Integer) tuple[0]); valor.setCodigo((String) tuple[1]); valor.setValor((String) tuple[2]); return valor; } }).list(); f.setValoresLista(cat); } } return filtros; }
From source file:mx.org.inai.viajesclaros.services.BusquedaService.java
License:Open Source License
/** * Llama al SP para obtener los campos parametrizados para mostrar en los resultados de bsqueda * * @param idDependencia//from w w w .j a v a 2 s . c om * @return Encabezados (lista de objetos ElementoCatalogoModel) */ public List<ElementoCatalogoModel> getEncabezadoViajes(Integer idDependencia) { Session session = em.unwrap(Session.class); List<ElementoCatalogoModel> encabezados = session.createSQLQuery("CALL get_headers_viajes(:idDep)") .setParameter("idDep", idDependencia).setResultTransformer(new BasicTransformerAdapter() { private static final long serialVersionUID = 1L; @Override public Object transformTuple(Object[] tuple, String[] aliases) { Integer id = 0; String descripcion = (String) tuple[2]; return new ElementoCatalogoModel(id, descripcion); } }).list(); return encabezados; }
From source file:mx.org.inai.viajesclaros.services.BusquedaService.java
License:Open Source License
/** * Obtiene los datos de los viajes de la dependencia indicada (los campos son dinmicos) * * @param idDependencia//from w w w .j ava 2 s . c o m * @return Lista de viajes */ public List<ViajeResultModel> getViajesByDependencia(Integer idDependencia) { Session session = em.unwrap(Session.class); List<ViajeResultModel> viajes = session.createSQLQuery("CALL get_viajes_por_dependencia(:idDep)") .setParameter("idDep", idDependencia).setResultTransformer(new BasicTransformerAdapter() { private static final long serialVersionUID = 1L; @Override public Object transformTuple(Object[] tuple, String[] aliases) { List<String> datos = new ArrayList<>(); for (Object o : tuple) { datos.add((String) o); } return new ViajeResultModel(datos); } }).list(); return viajes; }
From source file:mx.org.inai.viajesclaros.services.BusquedaService.java
License:Open Source License
/** * Realiza la bsqueda con los filtros dinmicos indicados * @param idDependencia Id de la dependencia * @param busquedaModel Filtros de bsqueda * @return viajes/*from w w w . ja v a2 s . c om*/ */ public List<ViajeResultModel> getViajesByFiltros(Integer idDependencia, BusquedaModel busquedaModel) { Session session = em.unwrap(Session.class); String queryWhere = ""; /* Crear la parte del WHERE del query */ for (FiltroBusquedaModel p : busquedaModel.getParametros()) { if (p.getTipoControl().equals("SELECT") && p.getIdValor() != 0) { // queryWhere += " AND " + p.getDescripcion().replace(" ", "_") + "_id = " + p.getIdValor(); queryWhere += " AND " + p.getDescripcion() + " = " + p.getIdValor(); } else { if (p.getComparador() == null) { p.setComparador("="); } log.info("tipo dato: " + p.getTipoDato()); switch (p.getComparador()) { case "LIKE": queryWhere += " AND " + p.getDescripcion().replace(" ", "_") + " LIKE \"%" + p.getValor() + "%\""; break; case "=": queryWhere += " AND " + p.getDescripcion().replace(" ", "_") + p.getComparador() + " \"" + p.getValor() + "\""; break; case "<": case ">": case "<=": case ">=": if (p.getTipoDato().equals("DATE")) { queryWhere += " AND STR_TO_DATE(" + p.getDescripcion().replace(" ", "_") + ", \"%d/%m/%Y\")" + p.getComparador() + " STR_TO_DATE( \"" + p.getValor() + "\", \"%d/%m/%Y\")"; } else { queryWhere += " AND " + p.getDescripcion().replace(" ", "_") + p.getComparador() + " \"" + p.getValor() + "\""; } break; default: // same as = queryWhere += " AND " + p.getDescripcion().replace(" ", "_") + p.getComparador() + " \"" + p.getValor() + "\""; break; } } } log.info("query: " + queryWhere); /* Llamar al SP de bsqueda y enviar la parte WHERE como parmetro */ List<ViajeResultModel> viajes = session.createSQLQuery("CALL get_viajes_por_filtros(:idDep, :queryWhere)") .setParameter("idDep", idDependencia).setParameter("queryWhere", queryWhere) .setResultTransformer(new BasicTransformerAdapter() { private static final long serialVersionUID = 1L; @Override public Object transformTuple(Object[] tuple, String[] aliases) { List<String> datos = new ArrayList<>(); for (Object o : tuple) { String val = o != null ? o.toString() : ""; datos.add(val); } return new ViajeResultModel(datos); } }).list(); log.info(viajes.size()); return viajes; }
From source file:mx.org.inai.viajesclaros.services.DependenciaService.java
License:Open Source License
public List<CatDependencia> findAll() { Session session = em.unwrap(Session.class); List<CatDependencia> dependencias = session.createSQLQuery("CALL get_dependencias()") .setResultTransformer(new BasicTransformerAdapter() { private static final long serialVersionUID = 1L; @Override//from ww w. j ava 2s .c o m public Object transformTuple(Object[] tuple, String[] aliases) { CatDependencia catDependencia = new CatDependencia(); catDependencia.setIdDependencia((Integer) tuple[0]); catDependencia.setDependecia((String) tuple[1]); catDependencia.setSiglas((String) tuple[2]); return catDependencia; } }).list(); return dependencias; }
From source file:mx.org.inai.viajesclaros.services.FuncionarioService.java
License:Open Source License
public List<Funcionario> getFuncionariosByDependencia(Integer idDependencia) { Session session = em.unwrap(Session.class); List<Funcionario> funcionarios = session.createSQLQuery("CALL get_funcionarios_por_dependencia(:idDep)") .setParameter("idDep", idDependencia).setResultTransformer(new BasicTransformerAdapter() { private static final long serialVersionUID = 1L; @Override// w ww.j av a2s . c o m public Object transformTuple(Object[] tuple, String[] aliases) { Funcionario funcionario = new Funcionario(); funcionario.setId((Integer) tuple[0]); funcionario.setNombre((String) tuple[1]); funcionario.setApellido1((String) tuple[2]); funcionario.setApellido2((String) tuple[3]); funcionario.setIdDependencia((Integer) tuple[4]); funcionario.setEmail((String) tuple[5]); return funcionario; } }).list(); return funcionarios; }
From source file:mx.org.inai.viajesclaros.services.GraficaService.java
License:Open Source License
/** * Obtiene los 3 funcionarios con mayor gasto en viajes * * @param idDependencia/* w ww . ja v a2s. com*/ * @param anio * @return */ public List<FuncionarioModel> getFuncionariosMayorGasto(Integer idDependencia, Integer anio) { try { Session session = em.unwrap(Session.class); List<FuncionarioModel> list; if (anio > 0) { list = session.createSQLQuery("CALL grafica_funcionarios_mayor_gasto_por_dep_anio(:idDep,:anio)") .setParameter("idDep", idDependencia).setParameter("anio", anio) .setResultTransformer(new BasicTransformerAdapter() { private static final long serialVersionUID = 1L; @Override public Object transformTuple(Object[] tuple, String[] aliases) { FuncionarioModel f = new FuncionarioModel(); f.setId(Integer.valueOf(tuple[0].toString())); f.setNombres((String) tuple[1]); f.setApellido1((String) tuple[2]); f.setApellido2((String) tuple[3]); f.setTotalGasto((Double) tuple[4]); f.setCargo((String) tuple[5]); return f; } }).list(); } else { list = session.createSQLQuery("CALL grafica_funcionarios_mayor_gasto_por_dep(:idDep)") .setParameter("idDep", idDependencia).setResultTransformer(new BasicTransformerAdapter() { private static final long serialVersionUID = 1L; @Override public Object transformTuple(Object[] tuple, String[] aliases) { FuncionarioModel f = new FuncionarioModel(); f.setId(Integer.valueOf(tuple[0].toString())); f.setNombres((String) tuple[1]); f.setApellido1((String) tuple[2]); f.setApellido2((String) tuple[3]); f.setTotalGasto((Double) tuple[4]); f.setCargo((String) tuple[5]); return f; } }).list(); } session.flush(); session.clear(); return list; } catch (Exception e) { log.error("ERROR AL CONSULTAR LOS FUNCIONARIOS CON MAYOR GASTO", e); return new ArrayList<>(); } }
From source file:mx.org.inai.viajesclaros.services.GraficaService.java
License:Open Source License
/** * Obtiene los 3 funcionarios con mayor nmero de viajes * * @param idDependencia// ww w .java 2 s.co m * @param anio * @return */ public List<FuncionarioModel> getFuncionariosMasViajes(Integer idDependencia, Integer anio) { try { Session session = em.unwrap(Session.class); List<FuncionarioModel> list; if (anio > 0) { list = session.createSQLQuery("CALL grafica_funcionarios_mas_viajes_por_dep_anio(:idDep,:anio)") .setParameter("idDep", idDependencia).setParameter("anio", anio) .setResultTransformer(new BasicTransformerAdapter() { private static final long serialVersionUID = 1L; @Override public Object transformTuple(Object[] tuple, String[] aliases) { FuncionarioModel f = new FuncionarioModel(); f.setId(Integer.valueOf(tuple[0].toString())); f.setNombres((String) tuple[1]); f.setApellido1((String) tuple[2]); f.setApellido2((String) tuple[3]); f.setTotalViajes(((BigInteger) tuple[4]).intValue()); f.setCargo((String) tuple[5]); return f; } }).list(); } else { list = session.createSQLQuery("CALL grafica_funcionarios_mas_viajes_por_dep(:idDep)") .setParameter("idDep", idDependencia).setResultTransformer(new BasicTransformerAdapter() { private static final long serialVersionUID = 1L; @Override public Object transformTuple(Object[] tuple, String[] aliases) { FuncionarioModel f = new FuncionarioModel(); f.setId(Integer.valueOf(tuple[0].toString())); f.setNombres((String) tuple[1]); f.setApellido1((String) tuple[2]); f.setApellido2((String) tuple[3]); f.setTotalViajes(((BigInteger) tuple[4]).intValue()); f.setCargo((String) tuple[5]); return f; } }).list(); } session.flush(); session.clear(); return list; } catch (Exception e) { log.error("ERROR AL CONSULTAR LOS FUNCIONARIOS CON M?S VIAJES", e); return new ArrayList<>(); } }
From source file:mx.org.inai.viajesclaros.services.GraficaService.java
License:Open Source License
/** * Obtiene los ultimos viajes de la dependencia indicada * * @param idDependencia/*from w ww .j a va 2s . c om*/ * @return */ public List<ViajeResumenModel> getUltimosViajesPorDep(Integer idDependencia) { try { Session session = em.unwrap(Session.class); List<ViajeResumenModel> list = session.createSQLQuery("CALL grafica_ultimos_viajes_por_dep(:idDep)") .setParameter("idDep", idDependencia).setResultTransformer(new BasicTransformerAdapter() { private static final long serialVersionUID = 1L; @Override public Object transformTuple(Object[] tuple, String[] aliases) { ViajeResumenModel viaje = new ViajeResumenModel(); viaje.setId((Integer) tuple[0]); viaje.setFechaPublicacion((String) tuple[2]); viaje.setNombreEvento((String) tuple[4]); viaje.setPaisDestino((String) tuple[5]); viaje.setCiudadDestino((String) tuple[6]); return viaje; } }).list(); session.flush(); session.clear(); return list; } catch (Exception e) { log.error("ERROR AL CONSULTAR LOS LTIMOS VIAJES POR DEPENDENCIA", e); return new ArrayList<>(); } }
From source file:mx.org.inai.viajesclaros.services.GraficaService.java
License:Open Source License
/** * Obtiene los tres ltimos viajes por unidad administrativa * @param idUnidad/*w w w .j av a 2s . c om*/ * @param anio * @return */ public List<ViajeResumenModel> getUltimosViajesPorUnidad(Integer idUnidad, Integer anio) { try { Session session = em.unwrap(Session.class); List<ViajeResumenModel> list; if (anio > 0) { list = session.createSQLQuery("CALL grafica_ultimos_viajes_por_area_anio(:idUnidad,:anio)") .setParameter("idUnidad", idUnidad).setParameter("anio", anio) .setResultTransformer(new BasicTransformerAdapter() { private static final long serialVersionUID = 1L; @Override public Object transformTuple(Object[] tuple, String[] aliases) { ViajeResumenModel viaje = new ViajeResumenModel(); viaje.setId((Integer) tuple[0]); viaje.setFechaPublicacion((String) tuple[1]); viaje.setNombreEvento((String) tuple[2]); viaje.setPaisDestino((String) tuple[3]); viaje.setCiudadDestino((String) tuple[4]); viaje.setCostoTotal(tuple[5].toString()); return viaje; } }).list(); } else { list = session.createSQLQuery("CALL grafica_ultimos_viajes_por_area(:idUnidad)") .setParameter("idUnidad", idUnidad).setResultTransformer(new BasicTransformerAdapter() { private static final long serialVersionUID = 1L; @Override public Object transformTuple(Object[] tuple, String[] aliases) { ViajeResumenModel viaje = new ViajeResumenModel(); viaje.setId((Integer) tuple[0]); viaje.setFechaPublicacion((String) tuple[1]); viaje.setNombreEvento((String) tuple[2]); viaje.setPaisDestino((String) tuple[3]); viaje.setCiudadDestino((String) tuple[4]); viaje.setCostoTotal(tuple[5].toString()); return viaje; } }).list(); } session.flush(); session.clear(); return list; } catch (Exception e) { log.error("ERROR AL CONSULTAR LOS LTIMOS VIAJES POR UNIDAD", e); return new ArrayList<>(); } }