Búsquedas por Día filterDayWithoutHour()
En algunos casos tenemos formularios donde se almacenan en formato dd/MM/yyyy hh:mm:ss
Necesitamos hacer búsquedas por ejemplo de un solo día sin tomar en cuenta las horas.
Por ejemplo si creamos la fecha de inicio con 01/02/2018 05:00:00, y hacemos una búsqueda directa por el campofechainicio(), pasandole solo el día no lo encontraría en la lista, ya que necesita los demás datos (horas ,minutos y segundos). En este caso recurrimos al método filterDateWithOutHour(), que hace búsquedas en un día sin tomar en cuenta la hora.

Resultado:
Devuelve los documentos qBúsquedas en Fecha filterDayWithoutHour()ue estén filtrados en ese dìa sin tomar en cuenta horas, minutos y segundos.
Se usa para consultar un dia especifico.
Método
List<T> filterDayWithoutHourPagination(String secondaryfield,String secondaryfieldvalue, String fielddate, Date datevalue, Integer pageNumber, Integer rowsForPage, Document... docSort)
Filtra la fecha de un dia con un and por la llave primaria (String) u otro atributo, y no toma en cuenta las horas. Por ejemplo cuando deseamos consultar los datos de un dia sin tomar en cuenta las horas.
List<T> filterDayWithoutHourPagination(String secondaryfield,Integer secondaryfieldvalue, String fielddate, Date datevalue, Integer pageNumber, Integer rowsForPage, Document... docSort)
Filtra la fecha de un dia con un and de llave primaria u otro atributo entero. Ignorando las horas del dìa.
List<T> filterDayWithoutHour(String secondaryfield,String secondaryfieldvalue, String fielddate, Date datevalue, Document... docSort)
Filtra por la fecha y otro atributo entero excluyendo la hora y sin paginacion.
List<T> filterDayWithoutHour(String secondaryfield,Integer secondaryfieldvalue, String fielddate, Date datevalue, Document... docSort)
Filtra por la fecha y el otro atributo entero excluyendo la hora y sin paginacion.
List<T> filterDayWithoutHour(String fielddate, Date datevalue, Document... docSort)
Filtra toda la colección sin paginacion para devolver el día que se indica sin tomar en cuenta las horas.
List<T> filterDayWithoutHour(Bson myfilter,String fielddate, Date datevalue, Document... docSort)
Aplica un filtro adicional al filtro entre fechas.
List<T> filterDayWithoutHourOR(Bson myfilter,String fielddate, Date datevalue, Document... docSort)
Aplica una busqueda por un filtro o por el rango de fechas.
List<T> filterDayWithoutHourPagination(String fielddate, Date datevalue, Integer pageNumber, Integer rowsForPage, Document... docSort)
Filtra toda la colección con paginacion para devolver el día que se indica sin tomar en cuenta las horas.
List<T> filterDayWithoutHourPagination(Bson myfilter, String fielddate, Date datevalue, Integer pageNumber, Integer rowsForPage, Document... docSort)
Aplica un filtro adicional al filtro entre fechas con paginacion
List<T> filterDayWithoutHourPaginationOR(Bson myfilter, String fielddate, Date datevalue, Integer pageNumber, Integer rowsForPage, Document... docSort)
Aplica un filtro Bson myfilter o el filtro del rango entre fechas
Parametros
Pàrametro
Descripciòn
secondaryfield
Nombre de campo adicional para el filtro. Por ejemplo filtrar por fecha y por el idagente.
secondaryfieldvalue
Valor del campo secundario de filtro
datefield
nombre del campo fecha a buscar
valuedate
valor del campo fecha a buscar excluyendo la hora.
docSort
Document con la ordenaciòn.
pageNumber
Nùmero de pagina actual
rowsForPage
numero de filas por pagina.
Ejemplo
permisoList = permisoRepository.filterDayWithoutHourPagination("agente.idagente", agente.getIdagente(), "fechainicio",
permisoSearch.getFechainicio(),page,rowPage, new Document("idpermiso", -1));
Si fuese manual construir el filtro de la siguiente manera:
Bson filter = Filters.and(
Filters.eq("agente.idagente",agente.getIdagente())
, Filters.gte("fechainicio", permisoSearch.getFechainicio()),
Filters.lte("fechainicio", permisoSearch.getFechainicio()));
permisoList = permisoRepository.filters(filter, new Document("idpermiso", -1));
Last updated
Was this helpful?