use of org.hisp.dhis.dxf2.events.trackedentity.store.query.EventQuery.COLUMNS.UID in project dhis2-core by dhis2.
the class OrganisationUnitSupplierTest method verifyOuWith1LevelHierarchyIsHandledCorrectly.
@Test
void verifyOuWith1LevelHierarchyIsHandledCorrectly() throws SQLException {
// mock resultset data
when(mockResultSet.getLong("organisationunitid")).thenReturn(100L);
when(mockResultSet.getString("uid")).thenReturn("abcded");
when(mockResultSet.getString("code")).thenReturn("ALFA");
when(mockResultSet.getString("path")).thenReturn("/abcded");
when(mockResultSet.getInt("hierarchylevel")).thenReturn(1);
// create event to import
Event event = new Event();
event.setUid(CodeGenerator.generateUid());
event.setOrgUnit("abcded");
// mock resultset extraction
mockResultSetExtractor(mockResultSet);
Map<String, OrganisationUnit> map = subject.get(ImportOptions.getDefaultImportOptions(), Collections.singletonList(event));
OrganisationUnit organisationUnit = map.get(event.getUid());
assertThat(organisationUnit, is(notNullValue()));
assertThat(organisationUnit.getId(), is(100L));
assertThat(organisationUnit.getUid(), is("abcded"));
assertThat(organisationUnit.getCode(), is("ALFA"));
assertThat(organisationUnit.getPath(), is("/abcded"));
assertThat(organisationUnit.getHierarchyLevel(), is(1));
}
use of org.hisp.dhis.dxf2.events.trackedentity.store.query.EventQuery.COLUMNS.UID in project dhis2-core by dhis2.
the class TrackedEntityInstanceSupplierTest method verifySupplier.
@Test
void verifySupplier() throws SQLException {
// mock resultset data
when(mockResultSet.getLong("trackedentityinstanceid")).thenReturn(100L);
when(mockResultSet.getString("uid")).thenReturn("abcded");
when(mockResultSet.getString("code")).thenReturn("ALFA");
// create event to import
Event event = new Event();
event.setUid(CodeGenerator.generateUid());
event.setTrackedEntityInstance("abcded");
// mock resultset extraction
mockResultSetExtractor(mockResultSet);
Map<String, Pair<TrackedEntityInstance, Boolean>> map = subject.get(ImportOptions.getDefaultImportOptions(), Collections.singletonList(event));
TrackedEntityInstance trackedEntityInstance = map.get(event.getUid()).getKey();
assertThat(trackedEntityInstance, is(notNullValue()));
assertThat(trackedEntityInstance.getId(), is(100L));
assertThat(trackedEntityInstance.getUid(), is("abcded"));
assertThat(trackedEntityInstance.getCode(), is("ALFA"));
}
use of org.hisp.dhis.dxf2.events.trackedentity.store.query.EventQuery.COLUMNS.UID in project dhis2-core by dhis2.
the class DataAnalysisController method performStdDevOutlierAnalysis.
@PostMapping(value = "/stdDevOutlier", consumes = APPLICATION_JSON_VALUE)
@ResponseStatus(HttpStatus.OK)
@ResponseBody
public List<DeflatedDataValue> performStdDevOutlierAnalysis(@RequestBody DataAnalysisParams stdDevOutlierAnalysisParams, HttpSession session) throws WebMessageException {
I18nFormat format = i18nManager.getI18nFormat();
OrganisationUnit organisationUnit = organisationUnitService.getOrganisationUnit(stdDevOutlierAnalysisParams.getOu());
if (organisationUnit == null) {
throw new WebMessageException(badRequest("No organisation unit defined"));
}
Collection<Period> periods = periodService.getPeriodsBetweenDates(format.parseDate(stdDevOutlierAnalysisParams.getStartDate()), format.parseDate(stdDevOutlierAnalysisParams.getEndDate()));
Set<DataElement> dataElements = new HashSet<>();
for (String uid : stdDevOutlierAnalysisParams.getDs()) {
dataElements.addAll(dataSetService.getDataSet(uid).getDataElements());
}
Date from = new DateTime(format.parseDate(stdDevOutlierAnalysisParams.getStartDate())).minusYears(2).toDate();
log.info("From date: " + stdDevOutlierAnalysisParams.getStartDate() + ", To date: " + stdDevOutlierAnalysisParams.getEndDate() + ", Organisation unit: " + organisationUnit + ", Std dev: " + stdDevOutlierAnalysisParams.getStandardDeviation());
log.info("Nr of data elements: " + dataElements.size() + " Nr of periods: " + periods.size() + "for Standard Deviation Outlier Analysis");
List<DeflatedDataValue> dataValues = new ArrayList<>(stdDevOutlierAnalysisService.analyse(Sets.newHashSet(organisationUnit), dataElements, periods, stdDevOutlierAnalysisParams.getStandardDeviation(), from));
session.setAttribute(KEY_ANALYSIS_DATA_VALUES, dataValues);
session.setAttribute(KEY_ORG_UNIT, organisationUnit);
return deflatedValuesListToResponse(dataValues);
}
use of org.hisp.dhis.dxf2.events.trackedentity.store.query.EventQuery.COLUMNS.UID in project dhis2-core by dhis2.
the class DataAnalysisController method performFollowupAnalysis.
@PostMapping(value = "/followup", consumes = APPLICATION_JSON_VALUE)
@ResponseStatus(HttpStatus.OK)
@ResponseBody
public List<DeflatedDataValue> performFollowupAnalysis(@RequestBody DataAnalysisParams params, HttpSession session) throws WebMessageException {
I18nFormat format = i18nManager.getI18nFormat();
OrganisationUnit organisationUnit = organisationUnitService.getOrganisationUnit(params.getOu());
if (organisationUnit == null) {
throw new WebMessageException(badRequest("No organisation unit defined"));
}
Collection<Period> periods = periodService.getPeriodsBetweenDates(format.parseDate(params.getStartDate()), format.parseDate(params.getEndDate()));
Set<DataElement> dataElements = new HashSet<>();
if (params.getDs() != null) {
for (String uid : params.getDs()) {
dataElements.addAll(dataSetService.getDataSet(uid).getDataElements());
}
}
List<DeflatedDataValue> dataValues = new ArrayList<>(followupAnalysisService.getFollowupDataValues(Sets.newHashSet(organisationUnit), dataElements, periods, DataAnalysisService.MAX_OUTLIERS + 1));
// +1 to detect overflow
session.setAttribute(KEY_ANALYSIS_DATA_VALUES, dataValues);
session.setAttribute(KEY_ORG_UNIT, organisationUnit);
return deflatedValuesListToResponse(dataValues);
}
use of org.hisp.dhis.dxf2.events.trackedentity.store.query.EventQuery.COLUMNS.UID in project dhis2-core by dhis2.
the class DataSetController method bumpVersion.
@PostMapping("/{uid}/version")
@ResponseStatus(HttpStatus.NO_CONTENT)
public void bumpVersion(@PathVariable("uid") String uid) throws Exception {
DataSet dataSet = manager.get(DataSet.class, uid);
if (dataSet == null) {
throw new WebMessageException(conflict("Data set does not exist: " + uid));
}
dataSet.increaseVersion();
dataSetService.updateDataSet(dataSet);
}
Aggregations