dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #32298
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 16480: Data export fix
------------------------------------------------------------
revno: 16480
committer: Lars Helge Overland <larshelge@xxxxxxxxx>
branch nick: dhis2
timestamp: Fri 2014-08-22 14:35:55 +0200
message:
Data export fix
modified:
dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/datavalueset/SpringDataValueSetStore.java
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/datavalueset/SpringDataValueSetStore.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/datavalueset/SpringDataValueSetStore.java 2014-08-20 16:24:27 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/datavalueset/SpringDataValueSetStore.java 2014-08-22 12:35:55 +0000
@@ -40,6 +40,7 @@
import java.util.Set;
import org.amplecode.staxwax.factory.XMLFactory;
+import org.hisp.dhis.calendar.Calendar;
import org.hisp.dhis.dataelement.DataElement;
import org.hisp.dhis.dataset.DataSet;
import org.hisp.dhis.dxf2.datavalue.DataValue;
@@ -110,7 +111,7 @@
DataValueSet dataValueSet = new StreamingJsonDataValueSet( outputStream );
final String sql =
- "select de.uid as deuid, pe.startdate, pt.name, ou.uid as ouuid, coc.uid as cocuid, aoc.uid as aocuid, dv.value, dv.storedby, dv.created, dv.lastupdated, dv.comment, dv.followup " +
+ "select de.uid as deuid, pe.startdate as pestart, pt.name as ptname, ou.uid as ouuid, coc.uid as cocuid, aoc.uid as aocuid, dv.value, dv.storedby, dv.created, dv.lastupdated, dv.comment, dv.followup " +
"from datavalue dv " +
"join dataelement de on (dv.dataelementid=de.dataelementid) " +
"join period pe on (dv.periodid=pe.periodid) " +
@@ -133,25 +134,25 @@
dataValueSet.setPeriod( period != null ? period.getIsoDate() : null );
dataValueSet.setOrgUnit( orgUnit != null ? orgUnit.getUid() : null );
+ Calendar calendar = PeriodType.getCalendar();
+
while ( rowSet.next() )
{
DataValue dataValue = dataValueSet.getDataValueInstance();
+ String periodType = rowSet.getString( "ptname" );
+ Date startDate = rowSet.getDate( "pestart" );
+ Period isoPeriod = PeriodType.getPeriodTypeByName( periodType ).createPeriod( startDate, calendar );
+
dataValue.setDataElement( rowSet.getString( "deuid" ) );
- dataValue.setPeriod( rowSet.getString( "peiso" ) );
+ dataValue.setPeriod( isoPeriod.getIsoDate() );
dataValue.setOrgUnit( rowSet.getString( "ouuid" ) );
dataValue.setCategoryOptionCombo( rowSet.getString( "cocuid" ) );
dataValue.setAttributeOptionCombo( rowSet.getString( "aocuid" ) );
dataValue.setValue( rowSet.getString( "value" ) );
dataValue.setStoredBy( rowSet.getString( "storedby" ) );
-
- Date lastUpdated = rowSet.getDate( "lastupdated" );
-
- if ( lastUpdated != null )
- {
- dataValue.setLastUpdated( getLongDateString( lastUpdated ) );
- }
-
+ dataValue.setCreated( getLongDateString( rowSet.getDate( "created" ) ) );
+ dataValue.setLastUpdated( getLongDateString( rowSet.getDate( "lastupdated" ) ) );
dataValue.setComment( rowSet.getString( "comment" ) );
dataValue.setFollowup( rowSet.getBoolean( "followup" ) );
dataValue.close();
@@ -167,10 +168,11 @@
private String getDataValueSql( Set<DataSet> dataSets, Collection<Period> periods, Collection<OrganisationUnit> orgUnits )
{
return
- "select de.uid as deuid, pe.iso as peiso, ou.uid as ouuid, coc.uid as cocuid, aoc.uid as aocuid, dv.value, dv.storedby, dv.lastupdated, dv.comment, dv.followup " +
+ "select de.uid as deuid, pe.startdate as pestart, pt.name as ptname, ou.uid as ouuid, coc.uid as cocuid, aoc.uid as aocuid, dv.value, dv.storedby, dv.created, dv.lastupdated, dv.comment, dv.followup " +
"from datavalue dv " +
"join dataelement de on (dv.dataelementid=de.dataelementid) " +
- "join _periodstructure pe on (dv.periodid=pe.periodid) " +
+ "join period pe on (dv.periodid=pe.periodid) " +
+ "join periodtype pt on (pe.periodtypeid=pt.periodtypeid) " +
"join organisationunit ou on (dv.sourceid=ou.organisationunitid) " +
"join categoryoptioncombo coc on (dv.categoryoptioncomboid=coc.categoryoptioncomboid) " +
"join categoryoptioncombo aoc on (dv.attributeoptioncomboid=aoc.categoryoptioncomboid) " +