use of org.hisp.dhis.dataelement.DataElement in project dhis2-core by dhis2.
the class DefaultDataValueSetService method getDataValueSetTemplate.
// -------------------------------------------------------------------------
// Template
// -------------------------------------------------------------------------
@Override
public RootNode getDataValueSetTemplate(DataSet dataSet, Period period, List<String> orgUnits, boolean writeComments, String ouScheme, String deScheme) {
RootNode rootNode = new RootNode("dataValueSet");
rootNode.setNamespace(DxfNamespaces.DXF_2_0);
rootNode.setComment("Data set: " + dataSet.getDisplayName() + " (" + dataSet.getUid() + ")");
CollectionNode collectionNode = rootNode.addChild(new CollectionNode("dataValues"));
collectionNode.setWrapping(false);
if (orgUnits.isEmpty()) {
for (DataElement dataElement : dataSet.getDataElements()) {
CollectionNode collection = getDataValueTemplate(dataElement, deScheme, null, ouScheme, period, writeComments);
collectionNode.addChildren(collection.getChildren());
}
} else {
for (String orgUnit : orgUnits) {
OrganisationUnit organisationUnit = identifiableObjectManager.search(OrganisationUnit.class, orgUnit);
if (organisationUnit == null) {
continue;
}
for (DataElement dataElement : dataSet.getDataElements()) {
CollectionNode collection = getDataValueTemplate(dataElement, deScheme, organisationUnit, ouScheme, period, writeComments);
collectionNode.addChildren(collection.getChildren());
}
}
}
return rootNode;
}
use of org.hisp.dhis.dataelement.DataElement in project dhis2-core by dhis2.
the class AnalyticsDataSetReportStore method getAggregatedSubTotals.
@Override
public Map<String, Object> getAggregatedSubTotals(DataSet dataSet, Period period, OrganisationUnit unit, Set<String> dimensions) {
Map<String, Object> dataMap = new HashMap<>();
for (Section section : dataSet.getSections()) {
List<DataElement> dataElements = new ArrayList<>(section.getDataElements());
Set<DataElementCategory> categories = new HashSet<>();
for (DataElementCategoryCombo categoryCombo : section.getCategoryCombos()) {
categories.addAll(categoryCombo.getCategories());
}
FilterUtils.filter(dataElements, AggregatableDataElementFilter.INSTANCE);
if (dataElements.isEmpty() || categories == null || categories.isEmpty()) {
continue;
}
for (DataElementCategory category : categories) {
if (category.isDefault()) {
// No need for sub-total for default
continue;
}
if (!category.isDataDimension()) {
log.warn("Could not get sub-total for category: " + category.getUid() + " for data set report: " + dataSet + ", not a data dimension");
continue;
}
DataQueryParams.Builder params = DataQueryParams.newBuilder().withDataElements(dataElements).withPeriod(period).withOrganisationUnit(unit).withCategory(category);
if (dimensions != null) {
params.addFilters(dataQueryService.getDimensionalObjects(dimensions, null, null, null, false, IdScheme.UID));
}
Map<String, Object> map = analyticsService.getAggregatedDataValueMapping(params.build());
for (Entry<String, Object> entry : map.entrySet()) {
String[] split = entry.getKey().split(SEPARATOR);
dataMap.put(split[0] + SEPARATOR + split[3], entry.getValue());
}
}
}
return dataMap;
}
use of org.hisp.dhis.dataelement.DataElement in project dhis2-core by dhis2.
the class CurrentUserController method getDataSets.
@RequestMapping(value = { "/assignedDataSets", "/dataSets" }, produces = { "application/json", "text/*" })
public void getDataSets(@RequestParam(defaultValue = "false") boolean optionSets, @RequestParam(defaultValue = "50") int maxOptions, HttpServletResponse response, @RequestParam Map<String, String> parameters) throws IOException, NotAuthenticatedException {
User currentUser = currentUserService.getCurrentUser();
if (currentUser == null) {
throw new NotAuthenticatedException();
}
Forms forms = new Forms();
Set<OrganisationUnit> organisationUnits = new HashSet<>();
Set<DataSet> userDataSets;
Set<OrganisationUnit> userOrganisationUnits = new HashSet<>(currentUser.getOrganisationUnits());
if (currentUser.getUserCredentials().getAllAuthorities().contains("ALL")) {
userDataSets = new HashSet<>(dataSetService.getAllDataSets());
if (userOrganisationUnits.isEmpty()) {
userOrganisationUnits = new HashSet<>(organisationUnitService.getRootOrganisationUnits());
}
} else {
userDataSets = currentUser.getUserCredentials().getAllDataSets();
}
if (parameters.containsKey("includeDescendants") && Boolean.parseBoolean(parameters.get("includeDescendants"))) {
List<OrganisationUnit> children = new ArrayList<>();
for (OrganisationUnit organisationUnit : userOrganisationUnits) {
children.addAll(organisationUnitService.getOrganisationUnitWithChildren(organisationUnit.getUid()));
}
userOrganisationUnits.addAll(children);
} else {
List<OrganisationUnit> children = new ArrayList<>();
for (OrganisationUnit organisationUnit : userOrganisationUnits) {
children.addAll(organisationUnit.getChildren());
}
userOrganisationUnits.addAll(children);
}
for (OrganisationUnit ou : userOrganisationUnits) {
Set<DataSet> dataSets = new HashSet<>(Sets.intersection(ou.getDataSets(), userDataSets));
if (dataSets.size() > 0) {
organisationUnits.add(ou);
}
}
for (OrganisationUnit organisationUnit : organisationUnits) {
FormOrganisationUnit formOrganisationUnit = new FormOrganisationUnit();
formOrganisationUnit.setId(organisationUnit.getUid());
formOrganisationUnit.setLabel(organisationUnit.getDisplayName());
formOrganisationUnit.setLevel(organisationUnit.getLevel());
if (organisationUnit.getParent() != null) {
formOrganisationUnit.setParent(organisationUnit.getParent().getUid());
}
Set<DataSet> dataSets = new HashSet<>(Sets.intersection(organisationUnit.getDataSets(), userDataSets));
for (DataSet dataSet : dataSets) {
String uid = dataSet.getUid();
FormDataSet formDataSet = new FormDataSet();
formDataSet.setId(uid);
formDataSet.setLabel(dataSet.getDisplayName());
dataSet.getCategoryCombo().getCategories().forEach(cat -> {
cat.setAccess(aclService.getAccess(cat, currentUser));
cat.getCategoryOptions().forEach(catOpts -> catOpts.setAccess(aclService.getAccess(catOpts, currentUser)));
});
forms.getForms().put(uid, FormUtils.fromDataSet(dataSet, false, userOrganisationUnits));
formOrganisationUnit.getDataSets().add(formDataSet);
if (optionSets) {
for (DataElement dataElement : dataSet.getDataElements()) {
if (dataElement.hasOptionSet()) {
int size = maxOptions;
if (size >= dataElement.getOptionSet().getOptions().size()) {
size = dataElement.getOptionSet().getOptions().size();
}
forms.getOptionSets().put(dataElement.getOptionSet().getUid(), dataElement.getOptionSet().getOptionValues().subList(0, size - 1));
}
}
}
}
forms.getOrganisationUnits().put(formOrganisationUnit.getId(), formOrganisationUnit);
}
response.setContentType(MediaType.APPLICATION_JSON_VALUE);
renderService.toJson(response.getOutputStream(), forms);
}
use of org.hisp.dhis.dataelement.DataElement in project dhis2-core by dhis2.
the class MarkForFollowupAction method execute.
// -------------------------------------------------------------------------
// Action implementation
// -------------------------------------------------------------------------
@Override
public String execute() {
DataElement dataElement = dataElementService.getDataElement(dataElementId);
Period period = periodService.getPeriod(periodId);
OrganisationUnit source = organisationUnitService.getOrganisationUnit(sourceId);
DataElementCategoryOptionCombo categoryOptionCombo = categoryService.getDataElementCategoryOptionCombo(categoryOptionComboId);
DataValue dataValue = dataValueService.getDataValue(dataElement, period, source, categoryOptionCombo);
if (dataValue != null) {
boolean isMarked = dataValue.isFollowup();
dataValue.setFollowup(!isMarked);
dataValueService.updateDataValue(dataValue);
message = !isMarked ? "marked" : "unmarked";
log.info(!isMarked ? "Data value marked for follow-up" : "Data value unmarked for follow-up");
}
return SUCCESS;
}
use of org.hisp.dhis.dataelement.DataElement in project dhis2-core by dhis2.
the class AnalyticsServiceTest method setUpTest.
// Database (value, data element, period)
// --------------------------------------------------------------------
//
// A: 2, deA, peJan - 4, deB, peFeb - 6, deC, peMar - 8, deD, peApril
// 100, deB, peJan - 2, deD, peFeb
//
// B: 1, deA, peJan - 3, deB, peFeb - 5, deC, peMar - 7, deD, peApril
//
// C: 5, deA, peJan - 10, deB, peFeb - 15, deC, peMar - 20, deD, peApril
// 4, deD, peJan - 23, deC, peFeb
//
// D: 66, deA, peJan - 233, deA, peFeb - 399, deB, peFeb
//
// E: 1, deA, peJan - 1, deB, peFeb - 1, deC, peMar - 1, deD, peApril
// 32, deD, peJan
//
// --------------------------------------------------------------------
@Override
public void setUpTest() throws IOException {
// Set up meta data for data values
// --------------------------------------------------------------------
ReportingRate reportingRateA;
ReportingRate reportingRateB;
ocDef = categoryService.getDefaultDataElementCategoryOptionCombo();
ocDef.setUid("o1234578def");
categoryService.updateDataElementCategoryOptionCombo(ocDef);
Period peJan = createPeriod("2017-01");
Period peFeb = createPeriod("2017-02");
Period peMar = createPeriod("2017-03");
Period peApril = createPeriod("2017-04");
Period quarter = createPeriod("2017Q1");
periodService.addPeriod(peJan);
periodService.addPeriod(peFeb);
periodService.addPeriod(peMar);
periodService.addPeriod(peApril);
DataElement deA = createDataElement('A');
DataElement deB = createDataElement('B');
DataElement deC = createDataElement('C');
DataElement deD = createDataElement('D');
dataElementService.addDataElement(deA);
dataElementService.addDataElement(deB);
dataElementService.addDataElement(deC);
dataElementService.addDataElement(deD);
OrganisationUnit ouA = createOrganisationUnit('A');
OrganisationUnit ouB = createOrganisationUnit('B');
OrganisationUnit ouC = createOrganisationUnit('C');
ouC.setOpeningDate(getDate(2016, 4, 10));
ouC.setClosedDate(null);
OrganisationUnit ouD = createOrganisationUnit('D');
ouD.setOpeningDate(getDate(2016, 12, 10));
ouD.setClosedDate(null);
OrganisationUnit ouE = createOrganisationUnit('E');
AnalyticsTestUtils.configureHierarchy(ouA, ouB, ouC, ouD, ouE);
organisationUnitService.addOrganisationUnit(ouA);
organisationUnitService.addOrganisationUnit(ouB);
organisationUnitService.addOrganisationUnit(ouC);
organisationUnitService.addOrganisationUnit(ouD);
organisationUnitService.addOrganisationUnit(ouE);
idObjectManager.save(ouA);
idObjectManager.save(ouB);
idObjectManager.save(ouC);
idObjectManager.save(ouD);
idObjectManager.save(ouE);
OrganisationUnitGroup organisationUnitGroupA = createOrganisationUnitGroup('A');
organisationUnitGroupA.setUid("a2345groupA");
organisationUnitGroupA.addOrganisationUnit(ouA);
organisationUnitGroupA.addOrganisationUnit(ouB);
OrganisationUnitGroup organisationUnitGroupB = createOrganisationUnitGroup('B');
organisationUnitGroupB.setUid("a2345groupB");
organisationUnitGroupB.addOrganisationUnit(ouC);
organisationUnitGroupB.addOrganisationUnit(ouD);
organisationUnitGroupB.addOrganisationUnit(ouE);
OrganisationUnitGroup organisationUnitGroupC = createOrganisationUnitGroup('C');
organisationUnitGroupC.setUid("a2345groupC");
organisationUnitGroupC.addOrganisationUnit(ouA);
organisationUnitGroupC.addOrganisationUnit(ouB);
organisationUnitGroupC.addOrganisationUnit(ouC);
OrganisationUnitGroup organisationUnitGroupD = createOrganisationUnitGroup('D');
organisationUnitGroupD.setUid("a2345groupD");
organisationUnitGroupD.addOrganisationUnit(ouD);
organisationUnitGroupD.addOrganisationUnit(ouE);
organisationUnitGroupService.addOrganisationUnitGroup(organisationUnitGroupA);
organisationUnitGroupService.addOrganisationUnitGroup(organisationUnitGroupB);
organisationUnitGroupService.addOrganisationUnitGroup(organisationUnitGroupC);
organisationUnitGroupService.addOrganisationUnitGroup(organisationUnitGroupD);
OrganisationUnitGroupSet organisationUnitGroupSetA = createOrganisationUnitGroupSet('A');
organisationUnitGroupSetA.setUid("a234567setA");
OrganisationUnitGroupSet organisationUnitGroupSetB = createOrganisationUnitGroupSet('B');
organisationUnitGroupSetB.setUid("a234567setB");
organisationUnitGroupSetA.getOrganisationUnitGroups().add(organisationUnitGroupA);
organisationUnitGroupSetA.getOrganisationUnitGroups().add(organisationUnitGroupB);
organisationUnitGroupSetB.getOrganisationUnitGroups().add(organisationUnitGroupC);
organisationUnitGroupSetB.getOrganisationUnitGroups().add(organisationUnitGroupD);
organisationUnitGroupService.addOrganisationUnitGroupSet(organisationUnitGroupSetA);
organisationUnitGroupService.addOrganisationUnitGroupSet(organisationUnitGroupSetB);
DataSet dataSetA = createDataSet('A');
dataSetA.setUid("a23dataSetA");
dataSetA.addOrganisationUnit(ouD);
dataSetA.addOrganisationUnit(ouC);
DataSet dataSetB = createDataSet('B');
dataSetB.setUid("a23dataSetB");
dataSetB.addOrganisationUnit(ouD);
dataSetService.addDataSet(dataSetA);
dataSetService.addDataSet(dataSetB);
// Read data values from CSV files
// --------------------------------------------------------------------
ArrayList<String[]> dataValueLines = AnalyticsTestUtils.readInputFile("csv/dataValues.csv");
parseDataValues(dataValueLines);
ArrayList<String[]> dataSetRegistrationLines = AnalyticsTestUtils.readInputFile("csv/dataSetRegistrations.csv");
parseDataSetRegistrations(dataSetRegistrationLines);
// Make indicators
// --------------------------------------------------------------------
IndicatorType indicatorType_1 = createIndicatorType('A');
indicatorType_1.setFactor(1);
indicatorService.addIndicatorType(indicatorType_1);
// deA
Indicator indicatorA = createIndicator('A', indicatorType_1);
String expressionA = "#{" + deA.getUid() + "." + ocDef.getUid() + "}";
indicatorA.setNumerator(expressionA);
indicatorA.setDenominator("1");
// deB + deC
Indicator indicatorB = createIndicator('B', indicatorType_1);
String expressionB = "#{" + deB.getUid() + "." + ocDef.getUid() + "}" + "+#{" + deC.getUid() + "." + ocDef.getUid() + "}";
indicatorB.setNumerator(expressionB);
indicatorB.setDenominator("1");
// (deB * deC) / 100
Indicator indicatorC = createIndicator('C', indicatorType_1);
String expressionC = "#{" + deB.getUid() + "." + ocDef.getUid() + "}" + "*#{" + deC.getUid() + "." + ocDef.getUid() + "}";
indicatorC.setNumerator(expressionC);
indicatorC.setDenominator("100");
// (deA * deC) / deB
Indicator indicatorD = createIndicator('D', indicatorType_1);
String expressionD = "#{" + deA.getUid() + "." + ocDef.getUid() + "}" + "*#{" + deC.getUid() + "." + ocDef.getUid() + "}";
indicatorD.setNumerator(expressionD);
indicatorD.setDenominator("#{" + deB.getUid() + "." + ocDef.getUid() + "}");
// deA * reporting rate B
Indicator indicatorE = createIndicator('E', indicatorType_1);
reportingRateA = new ReportingRate(dataSetA);
reportingRateB = new ReportingRate(dataSetB);
String expressionE = "#{" + deA.getUid() + "." + ocDef.getUid() + "}" + "*(R{" + reportingRateB.getUid() + ".REPORTING_RATE} / 100)";
indicatorE.setNumerator(expressionE);
indicatorE.setDenominator("1");
// deA * reporting rate A
Indicator indicatorF = createIndicator('F', indicatorType_1);
String expressionF = "#{" + deA.getUid() + "." + ocDef.getUid() + "}" + "*(R{" + reportingRateA.getUid() + ".REPORTING_RATE} / 100)";
indicatorF.setNumerator(expressionF);
indicatorF.setDenominator("1");
indicatorService.addIndicator(indicatorA);
indicatorService.addIndicator(indicatorB);
indicatorService.addIndicator(indicatorC);
indicatorService.addIndicator(indicatorD);
indicatorService.addIndicator(indicatorE);
indicatorService.addIndicator(indicatorF);
// Generate analytics tables
// --------------------------------------------------------------------
analyticsTableGenerator.generateTables(null, null, null, false);
// Set parameters
// --------------------------------------------------------------------
List<Indicator> param_indicators = new ArrayList<>();
List<ReportingRate> param_reportingRates = new ArrayList<>();
// all org units - 2017
Period y2017 = createPeriod("2017");
DataQueryParams ou_2017_params = DataQueryParams.newBuilder().withOrganisationUnits(organisationUnitService.getAllOrganisationUnits()).withAggregationType(AggregationType.SUM).withPeriod(y2017).withOutputFormat(OutputFormat.ANALYTICS).build();
// all org units - jan 2017
Period y2017_jan = createPeriod("2017-01");
DataQueryParams ou_2017_01_params = DataQueryParams.newBuilder().withOrganisationUnits(organisationUnitService.getAllOrganisationUnits()).withAggregationType(AggregationType.SUM).withPeriod(y2017_jan).withOutputFormat(OutputFormat.ANALYTICS).build();
// org unit B - feb 2017
Period y2017_feb = createPeriod("2017-02");
DataQueryParams ouB_2017_02_params = DataQueryParams.newBuilder().withOrganisationUnit(ouB).withAggregationType(AggregationType.SUM).withPeriod(y2017_feb).withOutputFormat(OutputFormat.ANALYTICS).build();
// all data elements - mar 2017
Period y2017_mar = createPeriod("2017-03");
DataQueryParams de_avg_2017_03_params = DataQueryParams.newBuilder().withDataElements(dataElementService.getAllDataElements()).withAggregationType(AggregationType.AVERAGE).withSkipRounding(true).withPeriod(y2017_mar).withOutputFormat(OutputFormat.ANALYTICS).build();
// org unit B - data element C - mar 2017
List<DataElement> dataElements1 = new ArrayList<>();
dataElements1.add(deC);
DataQueryParams deC_ouB_2017_03_params = DataQueryParams.newBuilder().withOrganisationUnit(ouB).withDataElements(dataElements1).withAggregationType(AggregationType.SUM).withPeriod(y2017_mar).withOutputFormat(OutputFormat.ANALYTICS).build();
AnalyticalObject deC_ouB_2017_03_analytical = new ReportTable("deC_ouB_2017_03", dataElements1, param_indicators, param_reportingRates, Lists.newArrayList(y2017_mar), Lists.newArrayList(ouB), false, true, true, null, null, null);
// org unit A - data element A - Q1 2017
List<DataElement> dataElements2 = new ArrayList<>();
dataElements2.add(deA);
DataQueryParams deA_ouA_2017_Q01_params = DataQueryParams.newBuilder().withOrganisationUnit(ouA).withDataElements(dataElements2).withAggregationType(AggregationType.SUM).withPeriod(quarter).withOutputFormat(OutputFormat.ANALYTICS).build();
AnalyticalObject deA_ouA_2017_Q01_analytical = new ReportTable("deA_ouA_2017_Q01", dataElements2, param_indicators, param_reportingRates, Lists.newArrayList(quarter), Lists.newArrayList(ouA), false, true, true, null, null, null);
// org units B and C - feb 2017
DataQueryParams ouB_ouC_2017_02_params = DataQueryParams.newBuilder().withFilterOrganisationUnits(Lists.newArrayList(ouB, ouC)).withAggregationType(AggregationType.SUM).withPeriod(y2017_feb).withOutputFormat(OutputFormat.ANALYTICS).build();
// org unit A - jan and feb 2017
DataQueryParams ouA_2017_01_03_params = DataQueryParams.newBuilder().withOrganisationUnit(ouA).withFilterPeriods(Lists.newArrayList(peJan, peMar)).withAggregationType(AggregationType.SUM).withOutputFormat(OutputFormat.ANALYTICS).build();
// org unit B - Q1 2017
DataQueryParams ouB_2017_Q01_params = DataQueryParams.newBuilder().withOrganisationUnit(ouB).withPeriod(quarter).withAggregationType(AggregationType.SUM).withOutputFormat(OutputFormat.ANALYTICS).build();
// org unit C - Q1 2017
DataQueryParams ouC_2017_Q01_params = DataQueryParams.newBuilder().withOrganisationUnit(ouC).withPeriod(quarter).withAggregationType(AggregationType.SUM).withOutputFormat(OutputFormat.ANALYTICS).build();
// indicator A - 2017
DataQueryParams inA_2017_params = DataQueryParams.newBuilder().withIndicators(Lists.newArrayList(indicatorA)).withAggregationType(AggregationType.SUM).withPeriod(y2017).withOutputFormat(OutputFormat.ANALYTICS).build();
// indicator B (deB + deC) - 2017 Q1
DataQueryParams inB_deB_deC_2017_Q01_params = DataQueryParams.newBuilder().withIndicators(Lists.newArrayList(indicatorB)).withAggregationType(AggregationType.SUM).withPeriod(quarter).withOutputFormat(OutputFormat.ANALYTICS).build();
// indicator C (deB * deC) in hundreds - 2017 Q1
List<Indicator> param_indicators3 = new ArrayList<>();
param_indicators3.add(indicatorC);
DataQueryParams inC_deB_deC_2017_Q01_params = DataQueryParams.newBuilder().withIndicators(param_indicators3).withAggregationType(AggregationType.SUM).withPeriod(quarter).withOutputFormat(OutputFormat.ANALYTICS).build();
AnalyticalObject inC_deB_deC_2017_Q01_analytical = new ReportTable("deA_ouA_2017_Q01", Lists.newArrayList(), param_indicators3, param_reportingRates, Lists.newArrayList(quarter), Lists.newArrayList(ouA), true, true, true, null, null, null);
// indicator D (deA * deC)/deB - 2017 Q1
DataQueryParams inD_deA_deB_deC_2017_Q01_params = DataQueryParams.newBuilder().withIndicators(Lists.newArrayList(indicatorD)).withAggregationType(AggregationType.SUM).withPeriod(quarter).withOutputFormat(OutputFormat.ANALYTICS).build();
// indicator E (deA * reporting rate B) / 100 - 2017 Q1
DataQueryParams inE_deA_reRateA_2017_Q01_params = DataQueryParams.newBuilder().withOrganisationUnit(ouD).withIndicators(Lists.newArrayList(indicatorE)).withAggregationType(AggregationType.SUM).withPeriod(quarter).withOutputFormat(OutputFormat.ANALYTICS).build();
// indicator E (deA * reporting rate A) / 100 - 2017 Q1
DataQueryParams inF_deA_reRateB_2017_Q01_params = DataQueryParams.newBuilder().withOrganisationUnit(ouD).withIndicators(Lists.newArrayList(indicatorF)).withAggregationType(AggregationType.SUM).withPeriod(quarter).withOutputFormat(OutputFormat.ANALYTICS).build();
// Max value - org unit B and C - data element A - 2017 Feb
DataQueryParams deA_ouB_ouC_2017_02_params = DataQueryParams.newBuilder().withFilterOrganisationUnits(Lists.newArrayList(ouB, ouC)).withDataElements(Lists.newArrayList(deA)).withAggregationType(AggregationType.MAX).withPeriod(peFeb).withOutputFormat(OutputFormat.ANALYTICS).build();
// Average value - org unit C and E - data element A, B and D - 2017 April
DataQueryParams deA_deB_deD_ouC_ouE_2017_04_params = DataQueryParams.newBuilder().withFilterOrganisationUnits(Lists.newArrayList(ouC, ouE)).withDataElements(Lists.newArrayList(deA, deB, deD)).withAggregationType(AggregationType.AVERAGE).withOutputFormat(OutputFormat.ANALYTICS).withPeriod(peApril).withOutputFormat(OutputFormat.ANALYTICS).build();
// Sum org unit B - 2017-01-01 -> 2017-02-20
DataQueryParams ouB_2017_01_01_2017_02_20_params = DataQueryParams.newBuilder().withDataElements(Lists.newArrayList(deA, deB)).withOrganisationUnit(ouB).withStartDate(getDate(2017, 1, 1)).withEndDate(getDate(2017, 2, 20)).withAggregationType(AggregationType.SUM).withOutputFormat(OutputFormat.ANALYTICS).build();
// Sum org unit B - 2017-01-01 -> 2017-02-20
DataQueryParams ouB_2017_02_10_2017_06_20_params = DataQueryParams.newBuilder().withOrganisationUnit(ouB).withStartDate(getDate(2017, 2, 10)).withEndDate(getDate(2017, 6, 20)).withAggregationType(AggregationType.SUM).withOutputFormat(OutputFormat.ANALYTICS).build();
// Sum org group set A - 2017
DataQueryParams ouGroupSetA_2017_params = DataQueryParams.newBuilder().withDimensions(Lists.newArrayList(organisationUnitGroupSetA)).withAggregationType(AggregationType.SUM).withPeriod(y2017).withOutputFormat(OutputFormat.ANALYTICS).build();
// Sum org group set B - 2017
DataQueryParams ouGroupSetB_2017_03_params = DataQueryParams.newBuilder().withDimensions(Lists.newArrayList(organisationUnitGroupSetB)).withAggregationType(AggregationType.SUM).withPeriod(y2017_mar).withOutputFormat(OutputFormat.ANALYTICS).build();
// Reportingrate for dataSet A - Q1 2017
DataQueryParams reRate_2017_Q01_ouC_params = DataQueryParams.newBuilder().withOrganisationUnit(ouC).withReportingRates(Lists.newArrayList(reportingRateA)).withPeriod(quarter).withAggregationType(AggregationType.SUM).withOutputFormat(OutputFormat.ANALYTICS).build();
// Reportingrate for dataSet B - Q1 2017
DataQueryParams reRate_2017_Q01_ouD_params = DataQueryParams.newBuilder().withOrganisationUnit(ouD).withReportingRates(Lists.newArrayList(reportingRateB)).withPeriod(quarter).withAggregationType(AggregationType.SUM).withOutputFormat(OutputFormat.ANALYTICS).build();
dataQueryParams.put("ou_2017", ou_2017_params);
dataQueryParams.put("ou_2017_01", ou_2017_01_params);
dataQueryParams.put("ouB_2017_02", ouB_2017_02_params);
dataQueryParams.put("de_avg_2017_03", de_avg_2017_03_params);
dataQueryParams.put("deC_ouB_2017_03", deC_ouB_2017_03_params);
dataQueryParams.put("deA_ouA_2017_Q01", deA_ouA_2017_Q01_params);
dataQueryParams.put("ouB__ouC_2017_02", ouB_ouC_2017_02_params);
dataQueryParams.put("ouA_2017_01_03", ouA_2017_01_03_params);
dataQueryParams.put("ouB_2017_Q01", ouB_2017_Q01_params);
dataQueryParams.put("ouC_2017_Q01", ouC_2017_Q01_params);
dataQueryParams.put("inA_2017", inA_2017_params);
dataQueryParams.put("inB_deB_deC_2017_Q01", inB_deB_deC_2017_Q01_params);
dataQueryParams.put("inC_deB_deC_2017_Q01", inC_deB_deC_2017_Q01_params);
dataQueryParams.put("inD_deA_deB_deC_2017_Q01", inD_deA_deB_deC_2017_Q01_params);
dataQueryParams.put("inE_deA_reRateA_2017_Q01", inE_deA_reRateA_2017_Q01_params);
dataQueryParams.put("inF_deA_reRateB_2017_Q01", inF_deA_reRateB_2017_Q01_params);
dataQueryParams.put("deA_ouB_ouC_2017_02", deA_ouB_ouC_2017_02_params);
dataQueryParams.put("deA_deB_deD_ouC_ouE_2017_04", deA_deB_deD_ouC_ouE_2017_04_params);
dataQueryParams.put("ouB_2017_01_01_2017_02_20", ouB_2017_01_01_2017_02_20_params);
dataQueryParams.put("ouB_2017_02_10_2017_06_20", ouB_2017_02_10_2017_06_20_params);
dataQueryParams.put("ouGroupSetA_2017", ouGroupSetA_2017_params);
dataQueryParams.put("ouGroupSetB_2017_03", ouGroupSetB_2017_03_params);
dataQueryParams.put("reRate_2017_Q01_ouC", reRate_2017_Q01_ouC_params);
dataQueryParams.put("reRate_2017_Q01_ouD", reRate_2017_Q01_ouD_params);
analyticalObjectHashMap.put("deC_ouB_2017_03", deC_ouB_2017_03_analytical);
analyticalObjectHashMap.put("deA_ouA_2017_Q01", deA_ouA_2017_Q01_analytical);
analyticalObjectHashMap.put("inC_deB_deC_2017_Q01", inC_deB_deC_2017_Q01_analytical);
// Set results
// --------------------------------------------------------------------
Map<String, Double> ou_2017_keyValue = new HashMap<>();
ou_2017_keyValue.put("ouabcdefghA-2017", 949.0);
ou_2017_keyValue.put("ouabcdefghB-2017", 750.0);
ou_2017_keyValue.put("ouabcdefghC-2017", 77.0);
ou_2017_keyValue.put("ouabcdefghD-2017", 698.0);
ou_2017_keyValue.put("ouabcdefghE-2017", 36.0);
Map<String, Double> ou_2017_01_keyValue = new HashMap<>();
ou_2017_01_keyValue.put("ouabcdefghA-201701", 211.0);
ou_2017_01_keyValue.put("ouabcdefghB-201701", 100.0);
ou_2017_01_keyValue.put("ouabcdefghC-201701", 9.0);
ou_2017_01_keyValue.put("ouabcdefghD-201701", 66.0);
ou_2017_01_keyValue.put("ouabcdefghE-201701", 33.0);
Map<String, Double> ouB_2017_02_keyValue = new HashMap<>();
ouB_2017_02_keyValue.put("ouabcdefghB-201702", 636.00);
Map<String, Double> de_avg_2017_03_keyValue = new HashMap<>();
de_avg_2017_03_keyValue.put("deabcdefghC-201703", 6.75);
Map<String, Double> deC_ouB_2017_03_keyValue = new HashMap<>();
deC_ouB_2017_03_keyValue.put("deabcdefghC-ouabcdefghB-201703", 6.0);
deC_ouB_2017_03_keyValue.put("deabcdefghC-201703-ouabcdefghB", 6.0);
Map<String, Double> deA_ouA_2017_Q01_keyValue = new HashMap<>();
deA_ouA_2017_Q01_keyValue.put("deabcdefghA-ouabcdefghA-2017Q1", 308.0);
deA_ouA_2017_Q01_keyValue.put("deabcdefghA-2017Q1-ouabcdefghA", 308.0);
Map<String, Double> ouB_ouC_2017_02_keyValue = new HashMap<>();
ouB_ouC_2017_02_keyValue.put("201702", 669.0);
Map<String, Double> ouA_2017_01_03_keyValue = new HashMap<>();
ouA_2017_01_03_keyValue.put("ouabcdefghA", 238.0);
Map<String, Double> ouB_2017_Q01_keyValue = new HashMap<>();
ouB_2017_Q01_keyValue.put("ouabcdefghB-2017Q1", 742.0);
Map<String, Double> ouC_2017_Q01_keyValue = new HashMap<>();
ouC_2017_Q01_keyValue.put("ouabcdefghC-2017Q1", 57.0);
Map<String, Double> inA_2017_keyValue = new HashMap<>();
inA_2017_keyValue.put("inabcdefghA-2017", 308.0);
Map<String, Double> inB_deB_deC_2017_Q01_keyValue = new HashMap<>();
inB_deB_deC_2017_Q01_keyValue.put("inabcdefghB-2017Q1", 567.0);
Map<String, Double> inC_deB_deC_2017_Q01_keyValue = new HashMap<>();
inC_deB_deC_2017_Q01_keyValue.put("inabcdefghC-2017Q1", 258.50);
inC_deB_deC_2017_Q01_keyValue.put("inabcdefghC-2017Q1-ouabcdefghA", 258.50);
Map<String, Double> inD_deA_deB_deC_2017_Q01_keyValue = new HashMap<>();
inD_deA_deB_deC_2017_Q01_keyValue.put("inabcdefghD-2017Q1", 29.8);
Map<String, Double> inE_deA_reRateA_2017_Q01_keyValue = new HashMap<>();
inE_deA_reRateA_2017_Q01_keyValue.put("inabcdefghE-ouabcdefghD-2017Q1", 99.6);
Map<String, Double> inF_deA_reRateB_2017_Q01_keyValue = new HashMap<>();
inF_deA_reRateB_2017_Q01_keyValue.put("inabcdefghF-ouabcdefghD-2017Q1", 199.4);
Map<String, Double> deA_ouB_ouC_2017_02_keyValue = new HashMap<>();
deA_ouB_ouC_2017_02_keyValue.put("deabcdefghA-201702", 233.0);
Map<String, Double> deA_deB_deD_ouC_ouE_2017_04_keyValue = new HashMap<>();
deA_deB_deD_ouC_ouE_2017_04_keyValue.put("deabcdefghD-201704", 10.5);
Map<String, Double> deA_deB_2017_Q01_keyValue = new HashMap<>();
deA_deB_2017_Q01_keyValue.put("2017Q1", 53.3);
Map<String, Double> ouB_2017_01_01_2017_02_20_keyValue = new HashMap<>();
ouB_2017_01_01_2017_02_20_keyValue.put("deabcdefghA-ouabcdefghB", 68.0);
Map<String, Double> ouB_2017_02_10_2017_06_20_keyValue = new HashMap<>();
ouB_2017_02_10_2017_06_20_keyValue.put("ouabcdefghB", 14.0);
Map<String, Double> ouGroupSetA_2017_keyValue = new HashMap<>();
ouGroupSetA_2017_keyValue.put("a2345groupA-2017", 138.0);
ouGroupSetA_2017_keyValue.put("a2345groupB-2017", 811.0);
Map<String, Double> ouGroupSetB_2017_03_keyValue = new HashMap<>();
ouGroupSetB_2017_03_keyValue.put("a2345groupC-201703", 26.0);
ouGroupSetB_2017_03_keyValue.put("a2345groupD-201703", 1.0);
Map<String, Double> reRate_2017_Q01_ouC_keyValue = new HashMap<>();
reRate_2017_Q01_ouC_keyValue.put("a23dataSetA.REPORTING_RATE-ouabcdefghC-2017Q1", 100.0);
Map<String, Double> reRate_2017_Q01_ouD_keyValue = new HashMap<>();
reRate_2017_Q01_ouD_keyValue.put("a23dataSetB.REPORTING_RATE-ouabcdefghD-2017Q1", 33.3);
results.put("ou_2017", ou_2017_keyValue);
results.put("ou_2017_01", ou_2017_01_keyValue);
results.put("ouB_2017_02", ouB_2017_02_keyValue);
results.put("de_avg_2017_03", de_avg_2017_03_keyValue);
results.put("deC_ouB_2017_03", deC_ouB_2017_03_keyValue);
results.put("deA_ouA_2017_Q01", deA_ouA_2017_Q01_keyValue);
results.put("ouB__ouC_2017_02", ouB_ouC_2017_02_keyValue);
results.put("ouA_2017_01_03", ouA_2017_01_03_keyValue);
results.put("ouB_2017_Q01", ouB_2017_Q01_keyValue);
results.put("ouC_2017_Q01", ouC_2017_Q01_keyValue);
results.put("inA_2017", inA_2017_keyValue);
results.put("inB_deB_deC_2017_Q01", inB_deB_deC_2017_Q01_keyValue);
results.put("inC_deB_deC_2017_Q01", inC_deB_deC_2017_Q01_keyValue);
results.put("inD_deA_deB_deC_2017_Q01", inD_deA_deB_deC_2017_Q01_keyValue);
results.put("inE_deA_reRateA_2017_Q01", inE_deA_reRateA_2017_Q01_keyValue);
results.put("inF_deA_reRateB_2017_Q01", inF_deA_reRateB_2017_Q01_keyValue);
results.put("deA_ouB_ouC_2017_02", deA_ouB_ouC_2017_02_keyValue);
results.put("deA_deB_deD_ouC_ouE_2017_04", deA_deB_deD_ouC_ouE_2017_04_keyValue);
results.put("deA_deB_2017_Q01", deA_deB_2017_Q01_keyValue);
results.put("ouB_2017_01_01_2017_02_20", ouB_2017_01_01_2017_02_20_keyValue);
results.put("ouB_2017_02_10_2017_06_20", ouB_2017_02_10_2017_06_20_keyValue);
results.put("ouGroupSetA_2017", ouGroupSetA_2017_keyValue);
results.put("ouGroupSetB_2017_03", ouGroupSetB_2017_03_keyValue);
results.put("reRate_2017_Q01_ouC", reRate_2017_Q01_ouC_keyValue);
results.put("reRate_2017_Q01_ouD", reRate_2017_Q01_ouD_keyValue);
}
Aggregations