Search in sources :

Example 11 with Grid

use of org.hisp.dhis.common.Grid in project dhis2-core by dhis2.

the class AnalyticsController method getHtmlCss.

@RequestMapping(value = RESOURCE_PATH + ".html+css", method = RequestMethod.GET)
public void getHtmlCss(@RequestParam Set<String> dimension, @RequestParam(required = false) Set<String> filter, @RequestParam(required = false) AggregationType aggregationType, @RequestParam(required = false) String measureCriteria, @RequestParam(required = false) String preAggregationMeasureCriteria, @RequestParam(required = false) Date startDate, @RequestParam(required = false) Date endDate, @RequestParam(required = false) boolean skipMeta, @RequestParam(required = false) boolean skipData, @RequestParam(required = false) boolean skipRounding, @RequestParam(required = false) boolean completedOnly, @RequestParam(required = false) boolean hierarchyMeta, @RequestParam(required = false) boolean ignoreLimit, @RequestParam(required = false) boolean hideEmptyRows, @RequestParam(required = false) boolean hideEmptyColumns, @RequestParam(required = false) boolean showHierarchy, @RequestParam(required = false) boolean includeNumDen, @RequestParam(required = false) DisplayProperty displayProperty, @RequestParam(required = false) IdScheme outputIdScheme, @RequestParam(required = false) IdScheme inputIdScheme, @RequestParam(required = false) String approvalLevel, @RequestParam(required = false) Date relativePeriodDate, @RequestParam(required = false) String userOrgUnit, @RequestParam(required = false) String columns, @RequestParam(required = false) String rows, DhisApiVersion apiVersion, Model model, HttpServletResponse response) throws Exception {
    DataQueryParams params = dataQueryService.getFromUrl(dimension, filter, aggregationType, measureCriteria, preAggregationMeasureCriteria, startDate, endDate, skipMeta, skipData, skipRounding, completedOnly, hierarchyMeta, ignoreLimit, hideEmptyRows, hideEmptyColumns, showHierarchy, includeNumDen, displayProperty, outputIdScheme, inputIdScheme, false, approvalLevel, relativePeriodDate, userOrgUnit, false, apiVersion);
    contextUtils.configureAnalyticsResponse(response, ContextUtils.CONTENT_TYPE_HTML, CacheStrategy.RESPECT_SYSTEM_SETTING, null, false, params.getLatestEndDate());
    Grid grid = analyticsService.getAggregatedDataValues(params, getItemsFromParam(columns), getItemsFromParam(rows));
    GridUtils.toHtmlCss(grid, response.getWriter());
}
Also used : Grid(org.hisp.dhis.common.Grid) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 12 with Grid

use of org.hisp.dhis.common.Grid in project dhis2-core by dhis2.

the class AnalyticsController method getHtml.

@RequestMapping(value = RESOURCE_PATH + ".html", method = RequestMethod.GET)
public void getHtml(@RequestParam Set<String> dimension, @RequestParam(required = false) Set<String> filter, @RequestParam(required = false) AggregationType aggregationType, @RequestParam(required = false) String measureCriteria, @RequestParam(required = false) String preAggregationMeasureCriteria, @RequestParam(required = false) Date startDate, @RequestParam(required = false) Date endDate, @RequestParam(required = false) boolean skipMeta, @RequestParam(required = false) boolean skipData, @RequestParam(required = false) boolean skipRounding, @RequestParam(required = false) boolean completedOnly, @RequestParam(required = false) boolean hierarchyMeta, @RequestParam(required = false) boolean ignoreLimit, @RequestParam(required = false) boolean hideEmptyRows, @RequestParam(required = false) boolean hideEmptyColumns, @RequestParam(required = false) boolean showHierarchy, @RequestParam(required = false) boolean includeNumDen, @RequestParam(required = false) DisplayProperty displayProperty, @RequestParam(required = false) IdScheme outputIdScheme, @RequestParam(required = false) IdScheme inputIdScheme, @RequestParam(required = false) String approvalLevel, @RequestParam(required = false) Date relativePeriodDate, @RequestParam(required = false) String userOrgUnit, @RequestParam(required = false) String columns, @RequestParam(required = false) String rows, DhisApiVersion apiVersion, Model model, HttpServletResponse response) throws Exception {
    DataQueryParams params = dataQueryService.getFromUrl(dimension, filter, aggregationType, measureCriteria, preAggregationMeasureCriteria, startDate, endDate, skipMeta, skipData, skipRounding, completedOnly, hierarchyMeta, ignoreLimit, hideEmptyRows, hideEmptyColumns, showHierarchy, includeNumDen, displayProperty, outputIdScheme, inputIdScheme, false, approvalLevel, relativePeriodDate, userOrgUnit, false, apiVersion);
    contextUtils.configureAnalyticsResponse(response, ContextUtils.CONTENT_TYPE_HTML, CacheStrategy.RESPECT_SYSTEM_SETTING, null, false, params.getLatestEndDate());
    Grid grid = analyticsService.getAggregatedDataValues(params, getItemsFromParam(columns), getItemsFromParam(rows));
    GridUtils.toHtml(grid, response.getWriter());
}
Also used : Grid(org.hisp.dhis.common.Grid) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 13 with Grid

use of org.hisp.dhis.common.Grid in project dhis2-core by dhis2.

the class AnalyticsController method getCsv.

@RequestMapping(value = RESOURCE_PATH + ".csv", method = RequestMethod.GET)
public void getCsv(@RequestParam Set<String> dimension, @RequestParam(required = false) Set<String> filter, @RequestParam(required = false) AggregationType aggregationType, @RequestParam(required = false) String measureCriteria, @RequestParam(required = false) String preAggregationMeasureCriteria, @RequestParam(required = false) Date startDate, @RequestParam(required = false) Date endDate, @RequestParam(required = false) boolean skipMeta, @RequestParam(required = false) boolean skipData, @RequestParam(required = false) boolean skipRounding, @RequestParam(required = false) boolean completedOnly, @RequestParam(required = false) boolean hierarchyMeta, @RequestParam(required = false) boolean ignoreLimit, @RequestParam(required = false) boolean hideEmptyRows, @RequestParam(required = false) boolean hideEmptyColumns, @RequestParam(required = false) boolean showHierarchy, @RequestParam(required = false) boolean includeNumDen, @RequestParam(required = false) DisplayProperty displayProperty, @RequestParam(required = false) IdScheme outputIdScheme, @RequestParam(required = false) IdScheme inputIdScheme, @RequestParam(required = false) String approvalLevel, @RequestParam(required = false) Date relativePeriodDate, @RequestParam(required = false) String userOrgUnit, @RequestParam(required = false) String columns, @RequestParam(required = false) String rows, DhisApiVersion apiVersion, Model model, HttpServletResponse response) throws Exception {
    DataQueryParams params = dataQueryService.getFromUrl(dimension, filter, aggregationType, measureCriteria, preAggregationMeasureCriteria, startDate, endDate, skipMeta, skipData, skipRounding, completedOnly, hierarchyMeta, ignoreLimit, hideEmptyRows, hideEmptyColumns, showHierarchy, includeNumDen, displayProperty, outputIdScheme, inputIdScheme, false, approvalLevel, relativePeriodDate, userOrgUnit, false, apiVersion);
    contextUtils.configureAnalyticsResponse(response, ContextUtils.CONTENT_TYPE_CSV, CacheStrategy.RESPECT_SYSTEM_SETTING, "data.csv", true, params.getLatestEndDate());
    Grid grid = analyticsService.getAggregatedDataValues(params, getItemsFromParam(columns), getItemsFromParam(rows));
    GridUtils.toCsv(grid, response.getWriter());
}
Also used : Grid(org.hisp.dhis.common.Grid) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 14 with Grid

use of org.hisp.dhis.common.Grid in project dhis2-core by dhis2.

the class DefaultOrgUnitDistributionService method getOrganisationUnitDistribution.

@Override
@Transactional
public Grid getOrganisationUnitDistribution(OrganisationUnitGroupSet groupSet, OrganisationUnit organisationUnit, boolean organisationUnitOnly) {
    Grid grid = new ListGrid();
    grid.setTitle(groupSet.getName() + TITLE_SEP + organisationUnit.getName());
    List<OrganisationUnit> units = organisationUnitOnly ? Arrays.asList(organisationUnit) : new ArrayList<>(organisationUnit.getChildren());
    List<OrganisationUnitGroup> groups = new ArrayList<>(groupSet.getOrganisationUnitGroups());
    Collections.sort(units);
    Collections.sort(groups);
    if (!organisationUnitOnly) {
        // Add parent itself to the end to get the total
        units.add(organisationUnit);
    }
    grid.addHeader(new GridHeader(FIRST_COLUMN_TEXT, FIRST_COLUMN_TEXT, ValueType.TEXT, String.class.getName(), false, true));
    for (OrganisationUnitGroup group : groups) {
        grid.addHeader(new GridHeader(group.getName(), false, false));
    }
    grid.addHeader(new GridHeader(HEADER_TOTAL, false, false));
    for (OrganisationUnit unit : units) {
        grid.addRow();
        grid.addValue(unit.getName());
        int totalGroup = 0;
        Set<OrganisationUnit> subTree = new HashSet<>(organisationUnitService.getOrganisationUnitWithChildren(unit.getId()));
        for (OrganisationUnitGroup group : groups) {
            Set<OrganisationUnit> result = Sets.intersection(subTree, group.getMembers());
            int count = result != null ? result.size() : 0;
            grid.addValue(count);
            totalGroup += count;
        }
        grid.addValue(totalGroup);
    }
    return grid;
}
Also used : OrganisationUnitGroup(org.hisp.dhis.organisationunit.OrganisationUnitGroup) OrganisationUnit(org.hisp.dhis.organisationunit.OrganisationUnit) ListGrid(org.hisp.dhis.system.grid.ListGrid) Grid(org.hisp.dhis.common.Grid) ArrayList(java.util.ArrayList) ListGrid(org.hisp.dhis.system.grid.ListGrid) GridHeader(org.hisp.dhis.common.GridHeader) HashSet(java.util.HashSet) Transactional(org.springframework.transaction.annotation.Transactional)

Example 15 with Grid

use of org.hisp.dhis.common.Grid in project dhis2-core by dhis2.

the class ExportValidationResultAction method generateGrid.

@SuppressWarnings("unchecked")
private Grid generateGrid() {
    List<ValidationResult> results = (List<ValidationResult>) SessionUtils.getSessionVar(KEY_VALIDATIONRESULT);
    OrganisationUnit organisationUnit = organisationUnitService.getOrganisationUnit(organisationUnitId);
    Grid grid = new ListGrid();
    grid.setTitle(i18n.getString("data_quality_report"));
    if (organisationUnit != null) {
        grid.setSubtitle(organisationUnit.getName());
    }
    grid.addHeader(new GridHeader(i18n.getString("source"), false, true));
    grid.addHeader(new GridHeader(i18n.getString("period"), false, true));
    grid.addHeader(new GridHeader(i18n.getString("validation_rule"), false, true));
    grid.addHeader(new GridHeader(i18n.getString("importance"), false, true));
    grid.addHeader(new GridHeader(i18n.getString("left_side_description"), false, true));
    grid.addHeader(new GridHeader(i18n.getString("value"), false, false));
    grid.addHeader(new GridHeader(i18n.getString("operator"), false, false));
    grid.addHeader(new GridHeader(i18n.getString("value"), false, false));
    grid.addHeader(new GridHeader(i18n.getString("right_side_description"), false, true));
    for (ValidationResult validationResult : results) {
        OrganisationUnit unit = validationResult.getOrganisationUnit();
        Period period = validationResult.getPeriod();
        grid.addRow();
        grid.addValue(unit.getName());
        grid.addValue(format.formatPeriod(period));
        grid.addValue(validationResult.getValidationRule().getName());
        grid.addValue(i18n.getString(validationResult.getValidationRule().getImportance().toString().toLowerCase()));
        //TODO lazy prone
        grid.addValue(validationResult.getValidationRule().getLeftSide().getDescription());
        grid.addValue(String.valueOf(validationResult.getLeftsideValue()));
        grid.addValue(i18n.getString(validationResult.getValidationRule().getOperator().toString()));
        grid.addValue(String.valueOf(validationResult.getRightsideValue()));
        grid.addValue(validationResult.getValidationRule().getRightSide().getDescription());
    }
    return grid;
}
Also used : OrganisationUnit(org.hisp.dhis.organisationunit.OrganisationUnit) ListGrid(org.hisp.dhis.system.grid.ListGrid) Grid(org.hisp.dhis.common.Grid) Period(org.hisp.dhis.period.Period) List(java.util.List) ValidationResult(org.hisp.dhis.validation.ValidationResult) ListGrid(org.hisp.dhis.system.grid.ListGrid) GridHeader(org.hisp.dhis.common.GridHeader)

Aggregations

Grid (org.hisp.dhis.common.Grid)177 ListGrid (org.hisp.dhis.system.grid.ListGrid)61 Test (org.junit.jupiter.api.Test)49 GridHeader (org.hisp.dhis.common.GridHeader)40 ArrayList (java.util.ArrayList)36 GetMapping (org.springframework.web.bind.annotation.GetMapping)34 HashMap (java.util.HashMap)30 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)29 EventQueryParams (org.hisp.dhis.analytics.event.EventQueryParams)28 OrganisationUnit (org.hisp.dhis.organisationunit.OrganisationUnit)27 DimensionalItemObject (org.hisp.dhis.common.DimensionalItemObject)26 List (java.util.List)25 DataQueryParams (org.hisp.dhis.analytics.DataQueryParams)25 BaseDimensionalObject (org.hisp.dhis.common.BaseDimensionalObject)19 DimensionalObject (org.hisp.dhis.common.DimensionalObject)19 Map (java.util.Map)17 Period (org.hisp.dhis.period.Period)13 PreAuthorize (org.springframework.security.access.prepost.PreAuthorize)13 QueryItem (org.hisp.dhis.common.QueryItem)11 DhisConvenienceTest (org.hisp.dhis.DhisConvenienceTest)10