=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/AbstractEventService.java' --- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/AbstractEventService.java 2014-01-02 14:34:54 +0000 +++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/AbstractEventService.java 2014-01-14 10:15:25 +0000 @@ -29,15 +29,8 @@ */ -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Date; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - - +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; import org.hisp.dhis.common.IdentifiableObjectManager; import org.hisp.dhis.dataelement.DataElement; import org.hisp.dhis.dataelement.DataElementService; @@ -71,8 +64,13 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Date; +import java.util.HashSet; +import java.util.List; +import java.util.Set; /** * @author Morten Olav Hansen @@ -110,7 +108,7 @@ @Autowired private PatientService patientService; - + @Autowired private PatientCommentService patientCommentService; @@ -414,7 +412,7 @@ public Event getEvent( String uid ) { ProgramStageInstance psi = programStageInstanceService.getProgramStageInstance( uid ); - + return psi != null ? convertProgramStageInstance( psi ) : null; } @@ -449,20 +447,25 @@ { organisationUnit = programStageInstance.getOrganisationUnit(); } - + Date date = new Date(); + if ( event.getEventDate() != null ) + { + date = DateUtils.getMediumDate( event.getEventDate() ); + } + String storedBy = getStoredBy( event, null ); programStageInstance.setDueDate( date ); programStageInstance.setExecutionDate( date ); programStageInstance.setOrganisationUnit( organisationUnit ); - programStageInstance.setCompletedUser( storedBy ); - + programStageInstance.setCompletedUser( storedBy ); + programStageInstanceService.updateProgramStageInstance( programStageInstance ); - + ProgramInstance programInstance = programStageInstance.getProgramInstance(); - + savePatientCommentFromEvent( programInstance, event, storedBy ); Set patientDataValues = new HashSet( @@ -532,10 +535,10 @@ event.setOrgUnit( programStageInstance.getOrganisationUnit().getUid() ); event.setProgram( programStageInstance.getProgramInstance().getProgram().getUid() ); event.setProgramStage( programStageInstance.getProgramStage().getUid() ); - + if ( programStageInstance.getProgramInstance().getPatient() != null ) { - event.setPerson( programStageInstance.getProgramInstance().getPatient().getUid()); + event.setPerson( programStageInstance.getProgramInstance().getPatient().getUid() ); } if ( programStageInstance.getProgramStage().getCaptureCoordinates() ) @@ -578,20 +581,20 @@ value.setStoredBy( patientDataValue.getStoredBy() ); event.getDataValues().add( value ); - } - + } + ProgramInstance programInstance = programStageInstance.getProgramInstance(); - + Collection patientComments = programInstance.getPatientComments(); - + for ( PatientComment patientComment : patientComments ) - { + { Note note = new Note(); note.setValue( patientComment.getCommentText() ); note.setStoredBy( patientComment.getCreator() ); note.setStoredDate( patientComment.getCreatedDate().toString() ); event.getNotes().add( note ); - } + } return event; } @@ -759,14 +762,14 @@ } String storedBy = getStoredBy( event, importSummary ); - + if ( !dryRun ) { if ( programStageInstance == null ) { programStageInstance = createProgramStageInstance( programStage, programInstance, organisationUnit, - eventDate, EventStatus.COMPLETED.equals( event.getStatus() ), event.getCoordinate(), storedBy ); - + eventDate, EventStatus.COMPLETED.equals( event.getStatus() ), event.getCoordinate(), storedBy ); + } else { @@ -774,7 +777,7 @@ EventStatus.COMPLETED.equals( event.getStatus() ), event.getCoordinate(), storedBy, programStageInstance ); } - + savePatientCommentFromEvent( programInstance, event, storedBy ); importSummary.setReference( programStageInstance.getUid() ); @@ -809,21 +812,21 @@ return importSummary; } - - private void savePatientCommentFromEvent(ProgramInstance programInstance, Event event, String storedBy) + + private void savePatientCommentFromEvent( ProgramInstance programInstance, Event event, String storedBy ) { - for ( Note note : event.getNotes() ) + for ( Note note : event.getNotes() ) { - PatientComment patientComment = new PatientComment(); - patientComment.setCreator( storedBy ); - patientComment.setCreatedDate( new Date() ); - patientComment.setCommentText( note.getValue() ); - - patientCommentService.addPatientComment( patientComment ); - - programInstance.getPatientComments().add( patientComment ); - - programInstanceService.updateProgramInstance( programInstance ); - } + PatientComment patientComment = new PatientComment(); + patientComment.setCreator( storedBy ); + patientComment.setCreatedDate( new Date() ); + patientComment.setCommentText( note.getValue() ); + + patientCommentService.addPatientComment( patientComment ); + + programInstance.getPatientComments().add( patientComment ); + + programInstanceService.updateProgramInstance( programInstance ); + } } }