Example usage for org.hibernate.transform BasicTransformerAdapter BasicTransformerAdapter

List of usage examples for org.hibernate.transform BasicTransformerAdapter BasicTransformerAdapter

Introduction

In this page you can find the example usage for org.hibernate.transform BasicTransformerAdapter BasicTransformerAdapter.

Prototype

BasicTransformerAdapter

Source Link

Usage

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<>();
    }
}