Example usage for org.hibernate.criterion Restrictions disjunction

List of usage examples for org.hibernate.criterion Restrictions disjunction

Introduction

In this page you can find the example usage for org.hibernate.criterion Restrictions disjunction.

Prototype

public static Disjunction disjunction() 

Source Link

Document

Group expressions together in a single disjunction (A or B or C...).

Usage

From source file:modulo.administrativo.controlador.GrupoDeUsuariosControlador.java

@Override
public void botaoBuscarActionPerformed(ActionEvent evt) {
    GrupoDeUsuariosBusca busca = (GrupoDeUsuariosBusca) super.getBusca();
    try {//from  w ww  .  jav a 2s  .c o m
        String campoBusca = busca.getCampoBusca().getText();

        Disjunction or = Restrictions.disjunction();
        or.add(Restrictions.ilike("nome", campoBusca, MatchMode.ANYWHERE));

        try {
            or.add(Restrictions.eq("id", Integer.parseInt(campoBusca)));
        } catch (Exception err) {
        }

        List<Object> grupos = GrupoDeUsuariosDAO.getInstance().findByCriteria(new GrupoDeUsuarios(),
                Restrictions.conjunction(), or);
        this.atualizarGrid(-1, grupos);
    } catch (Exception err) {
        SOptionPane.showMessageDialog(busca, err, "Erro!", JOptionPane.ERROR_MESSAGE);
    }
}

From source file:modulo.administrativo.controlador.GrupoDeUsuariosControlador.java

@Override
public void botaoSalvarActionPerformed(ActionEvent evt) {
    GrupoDeUsuariosFormulario formulario = (GrupoDeUsuariosFormulario) super.getFormulario();
    try {//from w ww .  j  a  v a  2 s  .  c  o m
        if (this.validarCampos()) {
            GrupoDeUsuarios grupoDeUsuarios = new GrupoDeUsuarios();
            grupoDeUsuarios.setNome(formulario.getNome().getText());

            if (formulario.getId().getText().length() > 0) {
                grupoDeUsuarios.setId(Integer.parseInt(formulario.getId().getText()));
                GrupoDeUsuariosDAO.getInstance().merge(grupoDeUsuarios);
            } else {
                GrupoDeUsuariosDAO.getInstance().persist(grupoDeUsuarios);
            }

            // Obter lista de permisses j registrada para o grupo
            Conjunction and = Restrictions.conjunction();
            and.add(Restrictions.eq("grupoDeUsuarios", grupoDeUsuarios));
            List findPermissoes = PermissaoDoGrupoDeUsuariosDAO.getInstance()
                    .findByCriteria(new PermissaoDoGrupoDeUsuarios(), and, Restrictions.disjunction());

            // Obter lista de permisses marcadas.
            DefaultTableModel modelo = (DefaultTableModel) formulario.getTabelaPermissoes().getModel();

            for (int c = 0; c < modelo.getRowCount(); c++) {
                PermissaoDoGrupoDeUsuarios permissaoDoGrupoDeUsuarios = new PermissaoDoGrupoDeUsuarios();
                permissaoDoGrupoDeUsuarios.setId((String) modelo.getValueAt(c, 0));
                permissaoDoGrupoDeUsuarios.setGrupoDeUsuarios(grupoDeUsuarios);
                permissaoDoGrupoDeUsuarios.setVisualizar((boolean) modelo.getValueAt(c, 3));
                permissaoDoGrupoDeUsuarios.setInserir((boolean) modelo.getValueAt(c, 4));
                permissaoDoGrupoDeUsuarios.setAtualizar((boolean) modelo.getValueAt(c, 5));
                permissaoDoGrupoDeUsuarios.setExcluir((boolean) modelo.getValueAt(c, 6));
                permissaoDoGrupoDeUsuarios.setAdmin((boolean) modelo.getValueAt(c, 7));

                // Verifica se a permisso j est registrada para o grupo, se sim, atualiza, caso contrrio, insere.
                boolean merge = false;
                for (Object object : findPermissoes) {
                    PermissaoDoGrupoDeUsuarios permissao = (PermissaoDoGrupoDeUsuarios) object;
                    if (permissao.getId().equals(permissaoDoGrupoDeUsuarios.getId())) {
                        merge = true;
                        break;
                    }
                }

                if (merge) {
                    PermissaoDoGrupoDeUsuariosDAO.getInstance().merge(permissaoDoGrupoDeUsuarios);
                } else {
                    PermissaoDoGrupoDeUsuariosDAO.getInstance().persist(permissaoDoGrupoDeUsuarios);
                }
            }

            this.atualizarGrid(grupoDeUsuarios.getId(), new ArrayList());
            JOptionPane.showMessageDialog(formulario, "Registro efetuado com sucesso!", "Sucesso!",
                    JOptionPane.INFORMATION_MESSAGE);

            formulario.setVisible(false);
        }
    } catch (Exception err) {
        SOptionPane.showMessageDialog(formulario, err, "Erro!", JOptionPane.ERROR_MESSAGE);
    }
}

From source file:modulo.administrativo.controlador.GrupoDeUsuariosControlador.java

public void atualizarGridPermissoes(GrupoDeUsuariosFormulario formulario) {
    try {/*from  w  ww  .  j  av  a 2 s.  com*/
        List<Object> permissoes = new ArrayList();

        if (formulario.getId().getText().length() > 0) {
            GrupoDeUsuarios grupoDeusuarios = new GrupoDeUsuarios();
            grupoDeusuarios.setId(Integer.parseInt(formulario.getId().getText()));

            Conjunction conjunction = Restrictions.conjunction();
            conjunction.add(Restrictions.eq("grupoDeUsuarios", grupoDeusuarios));

            permissoes = PermissaoDoGrupoDeUsuariosDAO.getInstance()
                    .findByCriteria(new PermissaoDoGrupoDeUsuarios(), conjunction, Restrictions.disjunction());
        }

        DefaultTableModel modelo = (DefaultTableModel) formulario.getTabelaPermissoes().getModel();
        modelo.setNumRows(0);

        SistemaVisao sistemaVisao = new SistemaVisao();
        JMenuBar menuSistema = sistemaVisao.getMenu();
        Component[] modulos = menuSistema.getComponents();

        // Percorre os mdulos.
        for (int m = 0; m < modulos.length; m++) {

            if (modulos[m] instanceof JMenu) {
                JMenu modulo = (JMenu) modulos[m];
                Component[] telas = modulo.getMenuComponents();

                // Percorre as telas do mdulo.
                for (int t = 0; t < telas.length; t++) {
                    if (telas[t] instanceof JMenuItem) {
                        // Por padro, todos itens desmarcados.
                        JMenuItem tela = (JMenuItem) telas[t];
                        boolean visualizar = false;
                        boolean inserir = false;
                        boolean atualizar = false;
                        boolean excluir = false;
                        boolean admin = false;

                        // Verifica se o grupo j possui registro na permisso, e popula conforme registros.
                        for (Object object : permissoes) {
                            PermissaoDoGrupoDeUsuarios permissaoDoGrupoDeUsuarios = (PermissaoDoGrupoDeUsuarios) object;

                            if (permissaoDoGrupoDeUsuarios.getId().equals(tela.getName())) {
                                visualizar = permissaoDoGrupoDeUsuarios.isVisualizar();
                                inserir = permissaoDoGrupoDeUsuarios.isInserir();
                                atualizar = permissaoDoGrupoDeUsuarios.isAtualizar();
                                excluir = permissaoDoGrupoDeUsuarios.isExcluir();
                                admin = permissaoDoGrupoDeUsuarios.isAdmin();

                                break;
                            }
                        }

                        // Popula a grid com os itens do menu, de seus respectivos mdulos.
                        modelo.addRow(new Object[] { tela.getName(), // ESTE  O ID DA TELA!!!
                                modulo.getText(), tela.getText(), visualizar, inserir, atualizar, excluir,
                                admin });
                    }
                }
            }
        }
    } catch (Exception err) {
        SOptionPane.showMessageDialog(formulario, err, "Erro!", JOptionPane.ERROR_MESSAGE);
    }
}

From source file:modulo.administrativo.controlador.UsuarioControlador.java

@Override
public void botaoBuscarActionPerformed(ActionEvent evt) {
    UsuarioBusca busca = (UsuarioBusca) super.getBusca();
    try {/*  w  w w .  j  a v  a2s  .  com*/
        String campoBusca = busca.getCampoBusca().getText();

        Disjunction or = Restrictions.disjunction();
        or.add(Restrictions.ilike("login", campoBusca, MatchMode.ANYWHERE));
        or.add(Restrictions.ilike("name", campoBusca, MatchMode.ANYWHERE));

        try {
            or.add(Restrictions.eq("id", Integer.parseInt(campoBusca)));
        } catch (Exception err) {
        }

        List<Object> usuarios = UsuarioDAO.getInstance().findByCriteria(new UserAccount(),
                Restrictions.conjunction(), or);
        this.atualizarGrid(-1, usuarios);
    } catch (Exception err) {
        SOptionPane.showMessageDialog(busca, err, "Erro!", JOptionPane.ERROR_MESSAGE);
    }
}

From source file:modulo.administrativo.controlador.UsuarioControlador.java

@Override
public void popularCampos(Object entity) {
    UsuarioFormulario formulario = (UsuarioFormulario) super.getFormulario();
    UserAccount usuario = (UserAccount) entity;
    try {/*ww w.  jav  a 2  s  . co m*/
        this.useraccount = usuario;
        formulario.getId().setText(Integer.toString(usuario.getId()));
        formulario.getNome().setText(usuario.getName());
        formulario.getLogin().setText(usuario.getLogin());
        formulario.getAtivo().setSelected(usuario.isActive());

        if (!Integer.toString(usuario.getId()).isEmpty()) {
            formulario.getNome().setEnabled(false);
            formulario.getLogin().setEnabled(false);
        }

        // Obter grupos de usurios, do usurio.
        Conjunction and = Restrictions.conjunction();
        and.add(Restrictions.eq("usuario", usuario));
        gruposDoUsuario = GrupoDoUsuarioDAO.getInstance().findByCriteria(new GrupoDoUsuario(), and,
                Restrictions.disjunction());

        // Popula combobox de grupos de usurios, somente com os grupos no pertencentes ao usurio editado.
        formulario.getGrupoDeUsuarios().addItem("");
        List<Object> grupos = GrupoDeUsuariosDAO.getInstance().findAll(new GrupoDeUsuarios());

        for (int i = 0; i < grupos.size(); i++) {
            GrupoDeUsuarios grupo = (GrupoDeUsuarios) grupos.get(i);
            boolean possuiGrupo = false;

            for (int g = 0; g < gruposDoUsuario.size(); g++) {
                // Somente adicionar, se no existir no list de gruposDoUsuario
                GrupoDoUsuario grupoDoUsuario = (GrupoDoUsuario) gruposDoUsuario.get(g);

                if (grupoDoUsuario.getGrupoDeUsuarios().getId() == grupo.getId()) {
                    possuiGrupo = true;
                    break;
                }
            }

            if (!possuiGrupo) {
                formulario.getGrupoDeUsuarios().addItem(grupo);
            }
        }

        // Popula tabela de grupos de usurios, com os grupos pertencentes ao usurio editado.
        DefaultTableModel modelo = (DefaultTableModel) formulario.getTabelaDeGrupos().getModel();
        for (int g = 0; g < gruposDoUsuario.size(); g++) {
            GrupoDoUsuario grupoDoUsuario = (GrupoDoUsuario) gruposDoUsuario.get(g);
            modelo.addRow(new Object[] { grupoDoUsuario.getGrupoDeUsuarios().getId(),
                    grupoDoUsuario.getGrupoDeUsuarios().getNome() });
        }
    } catch (Exception err) {
        SOptionPane.showMessageDialog(formulario, err, "Erro!", JOptionPane.ERROR_MESSAGE);
    }
}

From source file:modulo.cadastro.controlador.CertificacaoControlador.java

@Override
public void botaoBuscarActionPerformed(ActionEvent evt) {
    CertificacaoBusca busca = (CertificacaoBusca) super.getBusca();
    try {/*from  w ww.j av a  2  s  .  c  o  m*/
        String campoBusca = busca.getCampoBusca().getText();

        Disjunction or = Restrictions.disjunction();
        or.add(Restrictions.ilike("nome", campoBusca, MatchMode.ANYWHERE));
        //or.add(Restrictions.ilike("ativo", busca, MatchMode.ANYWHERE));

        try {
            or.add(Restrictions.eq("id", Integer.parseInt(campoBusca)));
        } catch (Exception err) {
        }

        List<Object> grupos = CertificacaoDAO.getInstance().findByCriteria(new Certificacao(),
                Restrictions.conjunction(), or);
        this.atualizarGrid(-1, grupos);
    } catch (Exception err) {
        SOptionPane.showMessageDialog(busca, err, "Erro!", JOptionPane.ERROR_MESSAGE);
    }
}

From source file:mx.edu.um.mateo.activos.dao.impl.ActivoDaoHibernate.java

License:Open Source License

@Override
@Transactional(readOnly = true)//w w w . j ava2 s  .c o m
public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de activos con params {}", params);
    if (params == null) {
        params = new HashMap<>();
    }

    if (!params.containsKey("max")) {
        params.put("max", 10);
    } else {
        params.put("max", Math.min((Integer) params.get("max"), 100));
    }

    if (params.containsKey("pagina")) {
        Long pagina = (Long) params.get("pagina");
        Long offset = (pagina - 1) * (Integer) params.get("max");
        params.put("offset", offset.intValue());
    }

    if (!params.containsKey("offset")) {
        params.put("offset", 0);
    }
    Criteria criteria = currentSession().createCriteria(Activo.class);
    Criteria countCriteria = currentSession().createCriteria(Activo.class);

    criteria.createAlias("tipoActivo", "ta");
    countCriteria.createAlias("tipoActivo", "ta");

    if (params.containsKey("empresa")) {
        criteria.createCriteria("empresa").add(Restrictions.idEq(params.get("empresa")));
        countCriteria.createCriteria("empresa").add(Restrictions.idEq(params.get("empresa")));
    }

    if (params.containsKey("tipoActivoIds")) {
        criteria.add(Restrictions.in("ta.id", (List) params.get("tipoActivoIds")));
        countCriteria.add(Restrictions.in("ta.id", (List) params.get("tipoActivoIds")));
    }

    if (params.containsKey("cuentaId")) {
        criteria.createCriteria("centroCosto").add(Restrictions.eq("id.idCosto", params.get("cuentaId")));
        countCriteria.createCriteria("centroCosto").add(Restrictions.eq("id.idCosto", params.get("cuentaId")));
    }

    if (params.containsKey("proveedorId")) {
        criteria.createCriteria("proveedor").add(Restrictions.idEq(params.get("proveedorId")));
        countCriteria.createCriteria("proveedor").add(Restrictions.idEq(params.get("proveedorId")));
    }

    Date fechaIniciado = null;
    if (params.containsKey("fechaIniciado")) {
        fechaIniciado = (Date) params.get("fechaIniciado");
        criteria.add(Restrictions.ge("fechaCompra", fechaIniciado));
        countCriteria.add(Restrictions.ge("fechaCompra", fechaIniciado));
    }

    Date fechaTerminado = null;
    if (params.containsKey("fechaTerminado")) {
        Calendar cal = Calendar.getInstance();
        cal.setTime((Date) params.get("fechaTerminado"));
        cal.set(Calendar.HOUR_OF_DAY, 23);
        cal.set(Calendar.MINUTE, 59);
        cal.set(Calendar.SECOND, 59);
        cal.set(Calendar.MILLISECOND, 999);
        fechaTerminado = cal.getTime();
        criteria.add(Restrictions.le("fechaCompra", fechaTerminado));
        countCriteria.add(Restrictions.le("fechaCompra", fechaTerminado));
    }

    if (params.containsKey("bajas")) {
        if (fechaIniciado != null) {
            criteria.add(Restrictions.eq("inactivo", true));
            countCriteria.add(Restrictions.eq("inactivo", true));
            criteria.add(Restrictions.ge("fechaInactivo", fechaIniciado));
            countCriteria.add(Restrictions.ge("fechaInactivo", fechaIniciado));
            if (fechaTerminado != null) {
                criteria.add(Restrictions.le("fechaInactivo", fechaTerminado));
                countCriteria.add(Restrictions.le("fechaInactivo", fechaTerminado));
            }
        } else if (fechaTerminado != null) {
            criteria.add(Restrictions.eq("inactivo", true));
            countCriteria.add(Restrictions.eq("inactivo", true));
            criteria.add(Restrictions.le("fechaInactivo", fechaTerminado));
            countCriteria.add(Restrictions.le("fechaInactivo", fechaTerminado));
        } else {
            criteria.add(Restrictions.eq("inactivo", true));
            countCriteria.add(Restrictions.eq("inactivo", true));
        }
    } else {
        criteria.add(Restrictions.eq("inactivo", false));
        countCriteria.add(Restrictions.eq("inactivo", false));
    }

    if (params.containsKey("reubicaciones")) {
        if (fechaIniciado != null) {
            criteria.add(Restrictions.isNotNull("fechaReubicado"));
            countCriteria.add(Restrictions.isNotNull("fechaReubicado"));
            criteria.add(Restrictions.ge("fechaReubicado", fechaIniciado));
            countCriteria.add(Restrictions.ge("fechaReubicado", fechaIniciado));
            if (fechaTerminado != null) {
                criteria.add(Restrictions.le("fechaReubicado", fechaIniciado));
                countCriteria.add(Restrictions.le("fechaReubicado", fechaIniciado));
            }
        } else if (fechaTerminado != null) {
            criteria.add(Restrictions.isNotNull("fechaReubicado"));
            countCriteria.add(Restrictions.isNotNull("fechaReubicado"));
            criteria.add(Restrictions.le("fechaReubicado", fechaIniciado));
            countCriteria.add(Restrictions.le("fechaReubicado", fechaIniciado));
        } else {
            criteria.add(Restrictions.isNotNull("fechaReubicado"));
            countCriteria.add(Restrictions.isNotNull("fechaReubicado"));
        }
    }

    if (params.containsKey("responsableNombre")) {
        criteria.add(Restrictions.ilike("responsable", (String) params.get("responsable"), MatchMode.ANYWHERE));
        countCriteria
                .add(Restrictions.ilike("responsable", (String) params.get("responsable"), MatchMode.ANYWHERE));
    }

    if (params.containsKey("filtro")) {
        String filtro = (String) params.get("filtro");
        Disjunction propiedades = Restrictions.disjunction();
        propiedades.add(Restrictions.ilike("folio", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("procedencia", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("factura", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("pedimento", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("poliza", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("codigo", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("descripcion", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("marca", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("modelo", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("ubicacion", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("responsable", filtro, MatchMode.ANYWHERE));
        criteria.add(propiedades);
        countCriteria.add(propiedades);
    }

    if (params.containsKey("order")) {
        criteria.addOrder(Order.asc("ta.cuenta.id.idCtaMayor"));
        String campo = (String) params.get("order");
        if (params.get("sort").equals("desc")) {
            criteria.addOrder(Order.desc(campo));
        } else {
            criteria.addOrder(Order.asc(campo));
        }
    } else {
        criteria.addOrder(Order.asc("ta.cuenta.id.idCtaMayor"));
        criteria.addOrder(Order.desc("folio"));
    }

    if (!params.containsKey("reporte")) {
        criteria.setFirstResult((Integer) params.get("offset"));
        criteria.setMaxResults((Integer) params.get("max"));
    }
    params.put("activos", criteria.list());

    countCriteria.setProjection(Projections.rowCount());
    params.put("cantidad", (Long) countCriteria.list().get(0));

    ProjectionList list = Projections.projectionList();
    list.add(Projections.sum("depreciacionAnual"), "depreciacionAnual");
    list.add(Projections.sum("depreciacionMensual"), "depreciacionMensual");
    list.add(Projections.sum("depreciacionAcumulada"), "depreciacionAcumulada");
    list.add(Projections.sum("moi"), "moi");
    list.add(Projections.groupProperty("fechaDepreciacion"), "fechaDepreciacion");
    countCriteria.setProjection(list);

    List<?> proyecciones = countCriteria.list();
    Iterator<?> iterator = proyecciones.iterator();
    if (iterator.hasNext()) {
        Object[] obj = (Object[]) iterator.next();
        NumberFormat nf = DecimalFormat.getInstance();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
        Date fecha;
        if (obj[4] != null) {
            fecha = (Date) obj[4];
        } else {
            fecha = new Date();
        }
        params.put("resumen", new String[] { nf.format(obj[0]), nf.format(obj[1]), nf.format(obj[2]),
                nf.format(obj[3]), sdf.format(fecha) });
    }

    return params;
}

From source file:mx.edu.um.mateo.activos.dao.impl.TipoActivoDaoHibernate.java

License:Open Source License

@Override
@Transactional(readOnly = true)// w  w w  .ja v a  2  s .c  o  m
public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de tipos de activos con params {}", params);
    if (params == null) {
        params = new HashMap<>();
    }

    if (!params.containsKey("max")) {
        params.put("max", 10);
    } else {
        params.put("max", Math.min((Integer) params.get("max"), 100));
    }

    if (params.containsKey("pagina")) {
        Long pagina = (Long) params.get("pagina");
        Long offset = (pagina - 1) * (Integer) params.get("max");
        params.put("offset", offset.intValue());
    }

    if (!params.containsKey("offset")) {
        params.put("offset", 0);
    }
    Criteria criteria = currentSession().createCriteria(TipoActivo.class);
    Criteria countCriteria = currentSession().createCriteria(TipoActivo.class);

    if (params.containsKey("empresa")) {
        criteria.createCriteria("empresa").add(Restrictions.idEq(params.get("empresa")));
        countCriteria.createCriteria("empresa").add(Restrictions.idEq(params.get("empresa")));
    }

    if (params.containsKey("filtro")) {
        String filtro = (String) params.get("filtro");
        Disjunction propiedades = Restrictions.disjunction();
        propiedades.add(Restrictions.ilike("nombre", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("descripcion", filtro, MatchMode.ANYWHERE));
        criteria.add(propiedades);
        countCriteria.add(propiedades);
    }

    if (params.containsKey("order")) {
        String campo = (String) params.get("order");
        if (params.get("sort").equals("desc")) {
            criteria.addOrder(Order.desc(campo));
        } else {
            criteria.addOrder(Order.asc(campo));
        }
    }

    if (!params.containsKey("reporte")) {
        criteria.setFirstResult((Integer) params.get("offset"));
        criteria.setMaxResults((Integer) params.get("max"));
    }
    params.put("tiposDeActivo", criteria.list());

    countCriteria.setProjection(Projections.rowCount());
    params.put("cantidad", (Long) countCriteria.list().get(0));

    return params;
}

From source file:mx.edu.um.mateo.colportor.dao.AsociacionDao.java

License:Open Source License

public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de asociaciones con params {}", params);
    if (params == null) {
        params = new HashMap<>();
    }//from   ww  w  .  j  a va 2 s  .  c  o m

    if (!params.containsKey(Constantes.CONTAINSKEY_MAX)) {
        params.put(Constantes.CONTAINSKEY_MAX, 10);
    } else {
        params.put(Constantes.CONTAINSKEY_MAX, Math.min((Integer) params.get(Constantes.CONTAINSKEY_MAX), 100));
    }

    if (params.containsKey(Constantes.CONTAINSKEY_PAGINA)) {
        Long pagina = (Long) params.get(Constantes.CONTAINSKEY_PAGINA);
        Long offset = (pagina - 1) * (Integer) params.get(Constantes.CONTAINSKEY_MAX);
        params.put(Constantes.CONTAINSKEY_OFFSET, offset.intValue());
    }

    if (!params.containsKey(Constantes.CONTAINSKEY_OFFSET)) {
        params.put(Constantes.CONTAINSKEY_OFFSET, 0);
    }
    Criteria criteria = currentSession().createCriteria(Asociacion.class);
    Criteria countCriteria = currentSession().createCriteria(Asociacion.class);

    if (params.containsKey(Constantes.ADDATTRIBUTE_UNION)) {
        criteria.createCriteria(Constantes.ADDATTRIBUTE_UNION)
                .add(Restrictions.idEq(params.get(Constantes.ADDATTRIBUTE_UNION)));
        countCriteria.createCriteria(Constantes.ADDATTRIBUTE_UNION)
                .add(Restrictions.idEq(params.get(Constantes.ADDATTRIBUTE_UNION)));
    }

    if (params.containsKey(Constantes.CONTAINSKEY_FILTRO)) {
        String filtro = (String) params.get(Constantes.CONTAINSKEY_FILTRO);
        filtro = "%" + filtro + "%";
        Disjunction propiedades = Restrictions.disjunction();
        propiedades.add(Restrictions.ilike(Constantes.ADDATTRIBUTE_NOMBRE, filtro));
        propiedades.add(Restrictions.ilike("nombreCompleto", filtro));
        criteria.add(propiedades);
        countCriteria.add(propiedades);
    }

    if (params.containsKey(Constantes.CONTAINSKEY_ORDER)) {
        String campo = (String) params.get(Constantes.CONTAINSKEY_ORDER);
        if (params.get(Constantes.CONTAINSKEY_SORT).equals(Constantes.CONTAINSKEY_DESC)) {
            criteria.addOrder(Order.desc(campo));
        } else {
            criteria.addOrder(Order.asc(campo));
        }
    }

    if (!params.containsKey(Constantes.CONTAINSKEY_REPORTE)) {
        criteria.setFirstResult((Integer) params.get(Constantes.CONTAINSKEY_OFFSET));
        criteria.setMaxResults((Integer) params.get(Constantes.CONTAINSKEY_MAX));
    }
    params.put(Constantes.CONTAINSKEY_ASOCIACIONES, criteria.list());

    countCriteria.setProjection(Projections.rowCount());
    params.put(Constantes.CONTAINSKEY_CANTIDAD, (Long) countCriteria.list().get(0));

    return params;
}

From source file:mx.edu.um.mateo.colportor.dao.ColportorDao.java

License:Open Source License

public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de colportores con params {}", params);
    log.debug("params" + params);
    if (params == null) {
        params = new HashMap<>();
    }/*from  w w  w  .j  a v  a 2s. c om*/

    if (!params.containsKey(Constantes.CONTAINSKEY_MAX)) {
        params.put(Constantes.CONTAINSKEY_MAX, 10);
    } else {
        params.put(Constantes.CONTAINSKEY_MAX, Math.min((Integer) params.get(Constantes.CONTAINSKEY_MAX), 100));
    }

    if (params.containsKey(Constantes.CONTAINSKEY_PAGINA)) {
        Long pagina = (Long) params.get(Constantes.CONTAINSKEY_PAGINA);
        Long offset = (pagina - 1) * (Integer) params.get(Constantes.CONTAINSKEY_MAX);
        params.put(Constantes.CONTAINSKEY_OFFSET, offset.intValue());
    }

    if (!params.containsKey(Constantes.CONTAINSKEY_OFFSET)) {
        params.put(Constantes.CONTAINSKEY_OFFSET, 0);
    }

    Criteria criteria = currentSession().createCriteria(Colportor.class);
    Criteria countCriteria = currentSession().createCriteria(Colportor.class);

    if (params.containsKey("empresa")) {
        criteria.createCriteria("empresa").add(Restrictions.eq("id", params.get("empresa")));
        countCriteria.createCriteria("empresa").add(Restrictions.eq("id", params.get("empresa")));
    }

    if (params.containsKey(Constantes.CONTAINSKEY_FILTRO)) {
        String filtro = (String) params.get(Constantes.CONTAINSKEY_FILTRO);
        Disjunction propiedades = Restrictions.disjunction();
        propiedades.add(Restrictions.ilike("username", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("nombre", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("apPaterno", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("apMaterno", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("clave", filtro, MatchMode.ANYWHERE));
        criteria.add(propiedades);
        countCriteria.add(propiedades);
    }

    if (params.containsKey(Constantes.CONTAINSKEY_ORDER)) {
        String campo = (String) params.get(Constantes.CONTAINSKEY_ORDER);
        if (params.get(Constantes.CONTAINSKEY_SORT).equals(Constantes.CONTAINSKEY_DESC)) {
            criteria.addOrder(Order.desc(campo));
        } else {
            criteria.addOrder(Order.asc(campo));
        }
    }

    if (!params.containsKey(Constantes.CONTAINSKEY_REPORTE)) {
        criteria.setFirstResult((Integer) params.get(Constantes.CONTAINSKEY_OFFSET));
        criteria.setMaxResults((Integer) params.get(Constantes.CONTAINSKEY_MAX));
    }
    params.put(Constantes.COLPORTOR_LIST, criteria.list());
    log.debug("colportores***" + ((List) params.get(Constantes.COLPORTOR_LIST)).size());

    countCriteria.setProjection(Projections.rowCount());
    params.put(Constantes.CONTAINSKEY_CANTIDAD, (Long) countCriteria.list().get(0));

    return params;
}