@SuppressWarnings("unchecked") @Override public List<Afiliado> listaJson(PaginacionDTO paginacion, BuscaAfiliadoDTO busqueda) { String sql = "from Afiliado a"; List<Map<String, Object>> lista = new ArrayList<Map<String, Object>>(); Map<String, Object> datos = new HashMap<String, Object>(); if (!busqueda.getDni().equals("")) { datos.put("1", "upper(a.persona.dni) like upper(:dni)"); } if (!busqueda.getNombresApellidos().equals("")) { datos.put( "2", "(upper(a.persona.nombres) like upper(:nombres) or upper(a.persona.apellidos) like upper(:nombres))"); } if (busqueda.getAfiliadoPadre() != null) { datos.put("1", "a.afiliadoPadre = :afiliadoPadre"); } datos.put("3", "a.estado not in ('E')"); lista.add(datos); sql += Util.query(lista); Map<String, Object> data = new HashMap<String, Object>(); data.put("0", "a.persona.dni"); data.put("1", "a.persona.apellidos"); sql += Util.OrderByPagination(data, paginacion.getiSortCol_0(), paginacion.getsSortDir_0()); Query q = em.createQuery(sql); if (!busqueda.getDni().equals("")) { q.setParameter("dni", "%" + busqueda.getDni() + "%"); } if (!busqueda.getNombresApellidos().equals("")) { q.setParameter("nombres", "%" + busqueda.getNombresApellidos() + "%"); } if (busqueda.getAfiliadoPadre() != null) { q.setParameter("afiliadoPadre", busqueda.getAfiliadoPadre()); } if (paginacion.getiDisplayLength() != -1) { q.setMaxResults(paginacion.getiDisplayLength()); } q.setFirstResult(paginacion.getiDisplayStart()); try { return q.getResultList(); } catch (NoResultException e) { return null; } }
@Override public Number totalListaJson(BuscaAfiliadoDTO busqueda) { String sql = "select count(a) from Afiliado a"; List<Map<String, Object>> lista = new ArrayList<Map<String, Object>>(); Map<String, Object> datos = new HashMap<String, Object>(); if (!busqueda.getDni().equals("")) { datos.put("1", "upper(a.persona.dni) like upper(:dni)"); } if (!busqueda.getNombresApellidos().equals("")) { datos.put( "2", "(upper(a.persona.nombres) like upper(:nombres) or upper(a.persona.apellidos) like upper(:nombres))"); } if (busqueda.getAfiliadoPadre() != null) { datos.put("1", "a.afiliadoPadre = :afiliadoPadre"); } datos.put("3", "a.estado not in ('E')"); lista.add(datos); sql += Util.query(lista); Query q = em.createQuery(sql); if (!busqueda.getDni().equals("")) { q.setParameter("dni", "%" + busqueda.getDni() + "%"); } if (!busqueda.getNombresApellidos().equals("")) { q.setParameter("nombres", "%" + busqueda.getNombresApellidos() + "%"); } if (busqueda.getAfiliadoPadre() != null) { q.setParameter("afiliadoPadre", busqueda.getAfiliadoPadre()); } try { return (Number) q.getSingleResult(); } catch (NoResultException e) { return null; } }