Search in sources :

Example 56 with UID

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));
}
Also used : OrganisationUnit(org.hisp.dhis.organisationunit.OrganisationUnit) Event(org.hisp.dhis.dxf2.events.event.Event) Test(org.junit.jupiter.api.Test)

Example 57 with UID

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"));
}
Also used : Event(org.hisp.dhis.dxf2.events.event.Event) TrackedEntityInstance(org.hisp.dhis.trackedentity.TrackedEntityInstance) Pair(org.apache.commons.lang3.tuple.Pair) Test(org.junit.jupiter.api.Test)

Example 58 with UID

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);
}
Also used : OrganisationUnit(org.hisp.dhis.organisationunit.OrganisationUnit) WebMessageException(org.hisp.dhis.dxf2.webmessage.WebMessageException) ArrayList(java.util.ArrayList) Period(org.hisp.dhis.period.Period) I18nFormat(org.hisp.dhis.i18n.I18nFormat) Date(java.util.Date) DateTime(org.joda.time.DateTime) DataElement(org.hisp.dhis.dataelement.DataElement) DeflatedDataValue(org.hisp.dhis.datavalue.DeflatedDataValue) HashSet(java.util.HashSet) PostMapping(org.springframework.web.bind.annotation.PostMapping) ResponseStatus(org.springframework.web.bind.annotation.ResponseStatus) ResponseBody(org.springframework.web.bind.annotation.ResponseBody)

Example 59 with UID

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);
}
Also used : OrganisationUnit(org.hisp.dhis.organisationunit.OrganisationUnit) DataElement(org.hisp.dhis.dataelement.DataElement) DeflatedDataValue(org.hisp.dhis.datavalue.DeflatedDataValue) WebMessageException(org.hisp.dhis.dxf2.webmessage.WebMessageException) ArrayList(java.util.ArrayList) Period(org.hisp.dhis.period.Period) I18nFormat(org.hisp.dhis.i18n.I18nFormat) HashSet(java.util.HashSet) PostMapping(org.springframework.web.bind.annotation.PostMapping) ResponseStatus(org.springframework.web.bind.annotation.ResponseStatus) ResponseBody(org.springframework.web.bind.annotation.ResponseBody)

Example 60 with UID

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);
}
Also used : DataSet(org.hisp.dhis.dataset.DataSet) WebMessageException(org.hisp.dhis.dxf2.webmessage.WebMessageException) PostMapping(org.springframework.web.bind.annotation.PostMapping) ResponseStatus(org.springframework.web.bind.annotation.ResponseStatus)

Aggregations

WebMessageException (org.hisp.dhis.dxf2.webmessage.WebMessageException)92 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)52 Event (org.hisp.dhis.dxf2.events.event.Event)39 OrganisationUnit (org.hisp.dhis.organisationunit.OrganisationUnit)37 ResponseBody (org.springframework.web.bind.annotation.ResponseBody)34 ResponseStatus (org.springframework.web.bind.annotation.ResponseStatus)29 GetMapping (org.springframework.web.bind.annotation.GetMapping)28 User (org.hisp.dhis.user.User)23 Test (org.junit.jupiter.api.Test)21 HashMap (java.util.HashMap)19 ImportSummary (org.hisp.dhis.dxf2.importsummary.ImportSummary)19 UpdateAccessDeniedException (org.hisp.dhis.hibernate.exception.UpdateAccessDeniedException)19 InputStream (java.io.InputStream)18 PreAuthorize (org.springframework.security.access.prepost.PreAuthorize)18 ArrayList (java.util.ArrayList)17 MetadataImportParams (org.hisp.dhis.dxf2.metadata.MetadataImportParams)17 List (java.util.List)16 BaseIdentifiableObject (org.hisp.dhis.common.BaseIdentifiableObject)16 DataElement (org.hisp.dhis.dataelement.DataElement)15 ImportOptions (org.hisp.dhis.dxf2.common.ImportOptions)15