/** * Returns the offset based on the page number and page size. */ public int getOffset() { return (getPageWithDefault() - 1) * getPageSizeWithDefault(); }
boolean totalPages, boolean skipPaging, boolean includeDeleted ) ProgramInstanceQueryParams params = new ProgramInstanceQueryParams(); params.getOrganisationUnits().add( organisationUnit ); params.setProgram( pr ); params.setProgramStatus( programStatus ); params.setFollowUp( followUp ); params.setLastUpdated( lastUpdated ); params.setProgramStartDate( programStartDate ); params.setProgramEndDate( programEndDate ); params.setTrackedEntityType( te ); params.setTrackedEntityInstance( tei ); params.setOrganisationUnitMode( ouMode ); params.setPage( page ); params.setPageSize( pageSize ); params.setTotalPages( totalPages ); params.setSkipPaging( skipPaging ); params.setIncludeDeleted( includeDeleted );
@Override public Enrollments getEnrollments( ProgramInstanceQueryParams params ) { Enrollments enrollments = new Enrollments(); if ( !params.isPaging() && !params.isSkipPaging() ) { params.setDefaultPaging(); } if ( params.isPaging() ) { int count = 0; if ( params.isTotalPages() ) { count = programInstanceService.countProgramInstances( params ); } Pager pager = new Pager( params.getPageWithDefault(), count, params.getPageSizeWithDefault() ); enrollments.setPager( pager ); } List<ProgramInstance> programInstances = programInstanceService.getProgramInstances( params ); enrollments.setEnrollments( getEnrollments( programInstances ) ); return enrollments; }
if ( user != null && params.isOrganisationUnitMode( OrganisationUnitSelectionMode.ACCESSIBLE ) ) params.setOrganisationUnits( user.getDataViewOrganisationUnitsWithFallback() ); params.setOrganisationUnitMode( OrganisationUnitSelectionMode.DESCENDANTS ); else if ( params.isOrganisationUnitMode( CHILDREN ) ) organisationUnits.addAll( params.getOrganisationUnits() ); for ( OrganisationUnit organisationUnit : params.getOrganisationUnits() ) params.setOrganisationUnits( organisationUnits ); if ( !params.isPaging() && !params.isSkipPaging() ) params.setDefaultPaging();
ProgramInstanceQueryParams params = new ProgramInstanceQueryParams(); params.setOrganisationUnitMode( OrganisationUnitSelectionMode.ALL ); params.setSkipPaging( true ); params.setProgram( program ); params.setTrackedEntityInstance( entityInstance );
@Override public int countProgramInstances( ProgramInstanceQueryParams params ) { decideAccess( params ); validate( params ); User user = currentUserService.getCurrentUser(); if ( user != null && params.isOrganisationUnitMode( OrganisationUnitSelectionMode.ACCESSIBLE ) ) { params.setOrganisationUnits( user.getDataViewOrganisationUnitsWithFallback() ); params.setOrganisationUnitMode( OrganisationUnitSelectionMode.DESCENDANTS ); } else if ( params.isOrganisationUnitMode( CHILDREN ) ) { Set<OrganisationUnit> organisationUnits = new HashSet<>(); organisationUnits.addAll( params.getOrganisationUnits() ); for ( OrganisationUnit organisationUnit : params.getOrganisationUnits() ) { organisationUnits.addAll( organisationUnit.getChildren() ); } params.setOrganisationUnits( organisationUnits ); } params.setSkipPaging( true ); return programInstanceStore.countProgramInstances( params ); }
@Override @SuppressWarnings( "unchecked" ) public List<ProgramInstance> getProgramInstances( ProgramInstanceQueryParams params ) { String hql = buildProgramInstanceHql( params ); Query query = getQuery( hql ); if ( params.isPaging() ) { query.setFirstResult( params.getOffset() ); query.setMaxResults( params.getPageSizeWithDefault() ); } return query.list(); }