List of usage examples for org.hibernate.criterion Restrictions disjunction
public static Disjunction disjunction()
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; }