@Override public void deleteProgramStageInstance( ProgramStageInstance programStageInstance ) { String sql = "DELETE FROM trackedentitydatavalue " + "WHERE programstageinstanceid = " + programStageInstance.getId(); jdbcTemplate.execute( sql ); } }
@Override public int addProgramStageInstance( ProgramStageInstance programStageInstance ) { programStageInstance.setAutoFields(); programStageInstanceStore.save( programStageInstance ); return programStageInstance.getId(); }
@Override public List<TrackedEntityDataValue> getTrackedEntityDataValuesForSynchronization( ProgramStageInstance programStageInstance ) { List<TrackedEntityDataValue> dataValues = new ArrayList<>(); String sql = "SELECT tedv.* FROM trackedentitydatavalue tedv " + "LEFT JOIN programstageinstance psi on tedv.programstageinstanceid = psi.programstageinstanceid " + "LEFT JOIN programstagedataelement psde ON tedv.dataelementid = psde.dataelementid AND psi.programstageid = psde.programstageid " + "WHERE tedv.programstageinstanceid = " + programStageInstance.getId() + " AND psde.skipsynchronization = false"; SqlRowSet rowSet = jdbcTemplate.queryForRowSet( sql ); while ( rowSet.next() ) { TrackedEntityDataValue tedv = new TrackedEntityDataValue(); tedv.setCreated( rowSet.getDate( "created" ) ); tedv.setLastUpdated( rowSet.getDate( "lastupdated" ) ); tedv.setProgramStageInstance( programStageInstance ); tedv.setValue( rowSet.getString( "value" ) ); tedv.setStoredBy( rowSet.getString( "storedby" ) ); tedv.setProvidedElsewhere( rowSet.getBoolean( "providedelsewhere" ) ); tedv.setDataElement( dataElementStore.get( rowSet.getInt( "dataelementid" ) ) ); dataValues.add( tedv ); } return dataValues; }
if ( programStageInstance.getId() == 0 )