=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramInstanceService.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramInstanceService.java 2013-09-10 04:51:49 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramInstanceService.java 2013-09-17 15:26:14 +0000 @@ -56,6 +56,8 @@ ProgramInstance getProgramInstance( int id ); + ProgramInstance getProgramInstance( String id ); + Collection getAllProgramInstances(); Collection getProgramInstances( Integer status ); === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramInstanceStore.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramInstanceStore.java 2013-08-23 15:56:19 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramInstanceStore.java 2013-09-17 15:26:14 +0000 @@ -28,19 +28,19 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import java.util.Date; -import java.util.Collection; - -import org.hisp.dhis.common.GenericStore; +import org.hisp.dhis.common.GenericIdentifiableObjectStore; import org.hisp.dhis.organisationunit.OrganisationUnit; import org.hisp.dhis.patient.Patient; +import java.util.Collection; +import java.util.Date; + /** * @author Abyot Asalefew * @version $Id$ */ public interface ProgramInstanceStore - extends GenericStore + extends GenericIdentifiableObjectStore { String ID = ProgramInstanceStore.class.getName(); @@ -72,15 +72,15 @@ int min, int max ); int count( Program program, OrganisationUnit organisationUnit ); - + int count( Program program, Collection orgunitIds, Date startDate, Date endDate ); - + void removeProgramEnrollment( ProgramInstance programInstance ); - + int countByStatus( Integer status, Program program, Collection orgunitIds, Date startDate, Date endDate ); - + Collection getByStatus( Integer status, Program program, Collection orgunitIds, Date startDate, Date endDate ); - + Collection getSendMesssageEvents( String dateToCompare ); } === modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/AbstractEnrollmentService.java' --- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/AbstractEnrollmentService.java 2013-09-17 14:42:57 +0000 +++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/AbstractEnrollmentService.java 2013-09-17 15:26:14 +0000 @@ -28,13 +28,89 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import org.hisp.dhis.organisationunit.OrganisationUnit; +import org.hisp.dhis.patient.Patient; +import org.hisp.dhis.program.Program; +import org.hisp.dhis.program.ProgramInstance; +import org.hisp.dhis.program.ProgramInstanceService; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + /** * @author Morten Olav Hansen */ public abstract class AbstractEnrollmentService implements EnrollmentService { - @Override public Enrollment getEnrollment( String id ) - { - return null; + @Autowired + private ProgramInstanceService programInstanceService; + + // ------------------------------------------------------------------------- + // READ + // ------------------------------------------------------------------------- + + @Override + public Enrollments getEnrollments() + { + List programInstances = new ArrayList( programInstanceService.getAllProgramInstances() ); + return getEnrollments( programInstances ); + } + + @Override + public Enrollments getEnrollments( Patient patient ) + { + List programInstances = new ArrayList( programInstanceService.getProgramInstances( patient ) ); + return getEnrollments( programInstances ); + } + + @Override + public Enrollments getEnrollments( Program program ) + { + return null; + } + + @Override + public Enrollments getEnrollments( OrganisationUnit organisationUnit ) + { + return null; + } + + @Override + public Enrollments getEnrollments( Program program, OrganisationUnit organisationUnit ) + { + return null; + } + + @Override + public Enrollments getEnrollments( Collection programInstances ) + { + Enrollments enrollments = new Enrollments(); + + for ( ProgramInstance programInstance : programInstances ) + { + enrollments.getEnrollments().add( getEnrollment( programInstance ) ); + } + + return enrollments; + } + + @Override + public Enrollment getEnrollment( String id ) + { + return getEnrollment( programInstanceService.getProgramInstance( id ) ); + } + + @Override + public Enrollment getEnrollment( ProgramInstance programInstance ) + { + Enrollment enrollment = new Enrollment(); + + enrollment.setEnrollment( programInstance.getUid() ); + enrollment.setPerson( programInstance.getPatient().getUid() ); + enrollment.setProgram( programInstance.getProgram().getUid() ); + + return enrollment; } } === modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/EnrollmentService.java' --- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/EnrollmentService.java 2013-09-17 14:42:57 +0000 +++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/EnrollmentService.java 2013-09-17 15:26:14 +0000 @@ -28,6 +28,13 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import org.hisp.dhis.organisationunit.OrganisationUnit; +import org.hisp.dhis.patient.Patient; +import org.hisp.dhis.program.Program; +import org.hisp.dhis.program.ProgramInstance; + +import java.util.Collection; + /** * @author Morten Olav Hansen */ @@ -37,5 +44,33 @@ // READ // ------------------------------------------------------------------------- - Enrollment getEnrollment(String id); + Enrollments getEnrollments(); + + Enrollments getEnrollments( Patient patient ); + + Enrollments getEnrollments( Program program ); + + Enrollments getEnrollments( OrganisationUnit organisationUnit ); + + Enrollments getEnrollments( Program program, OrganisationUnit organisationUnit ); + + Enrollments getEnrollments( Collection programInstances ); + + Enrollment getEnrollment( String id ); + + Enrollment getEnrollment( ProgramInstance programInstance ); + + // ------------------------------------------------------------------------- + // CREATE + // ------------------------------------------------------------------------- + + + // ------------------------------------------------------------------------- + // UPDATE + // ------------------------------------------------------------------------- + + + // ------------------------------------------------------------------------- + // DELETE + // ------------------------------------------------------------------------- } === modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/EventService.java' --- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/EventService.java 2013-09-17 12:15:39 +0000 +++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/EventService.java 2013-09-17 15:26:14 +0000 @@ -47,6 +47,32 @@ */ public interface EventService { + // ------------------------------------------------------------------------- + // READ + // ------------------------------------------------------------------------- + + Events getEvents( Program program, OrganisationUnit organisationUnit ); + + Events getEvents( Program program, OrganisationUnit organisationUnit, Date startDate, Date endDate ); + + Events getEvents( ProgramStage programStage, OrganisationUnit organisationUnit ); + + Events getEvents( ProgramStage programStage, OrganisationUnit organisationUnit, Date startDate, Date endDate ); + + Events getEvents( Program program, ProgramStage programStage, OrganisationUnit organisationUnit ); + + Events getEvents( Program program, ProgramStage programStage, OrganisationUnit organisationUnit, Date startDate, Date endDate ); + + Events getEvents( List programs, List programStages, List organisationUnits, Date startDate, Date endDate ); + + Event getEvent( String uid ); + + Event getEvent( ProgramStageInstance programStageInstance ); + + // ------------------------------------------------------------------------- + // CREATE + // ------------------------------------------------------------------------- + ImportSummary saveEventXml( InputStream inputStream ) throws IOException; ImportSummary saveEventXml( InputStream inputStream, ImportOptions importOptions ) throws IOException; @@ -67,25 +93,15 @@ ImportSummaries saveEventsJson( InputStream inputStream, TaskId taskId, ImportOptions importOptions ) throws IOException; - Events getEvents( Program program, OrganisationUnit organisationUnit ); - - Events getEvents( Program program, OrganisationUnit organisationUnit, Date startDate, Date endDate ); - - Events getEvents( ProgramStage programStage, OrganisationUnit organisationUnit ); - - Events getEvents( ProgramStage programStage, OrganisationUnit organisationUnit, Date startDate, Date endDate ); - - Events getEvents( Program program, ProgramStage programStage, OrganisationUnit organisationUnit ); - - Events getEvents( Program program, ProgramStage programStage, OrganisationUnit organisationUnit, Date startDate, Date endDate ); - - Events getEvents( List programs, List programStages, List organisationUnits, Date startDate, Date endDate ); - - Event getEvent( String uid ); - - Event getEvent( ProgramStageInstance programStageInstance ); + // ------------------------------------------------------------------------- + // UPDATE + // ------------------------------------------------------------------------- void updateEvent( Event event ); + // ------------------------------------------------------------------------- + // DELETE + // ------------------------------------------------------------------------- + void deleteEvent( Event event ); } === modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/resources/META-INF/dhis/beans.xml' --- dhis-2/dhis-services/dhis-service-dxf2/src/main/resources/META-INF/dhis/beans.xml 2013-09-17 12:15:39 +0000 +++ dhis-2/dhis-services/dhis-service-dxf2/src/main/resources/META-INF/dhis/beans.xml 2013-09-17 15:26:14 +0000 @@ -14,11 +14,13 @@ - - - - - + + + + + + + === modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/DefaultProgramInstanceService.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/DefaultProgramInstanceService.java 2013-09-12 07:19:15 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/DefaultProgramInstanceService.java 2013-09-17 15:26:14 +0000 @@ -154,6 +154,12 @@ return programInstanceStore.get( id ); } + @Override + public ProgramInstance getProgramInstance( String id ) + { + return programInstanceStore.getByUid( id ); + } + public Collection getProgramInstances( Integer status ) { return programInstanceStore.get( status ); === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/event/EnrollmentController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/event/EnrollmentController.java 2013-09-17 14:42:57 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/event/EnrollmentController.java 2013-09-17 15:26:14 +0000 @@ -28,8 +28,18 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import org.hisp.dhis.api.controller.WebOptions; +import org.hisp.dhis.dxf2.events.enrollment.EnrollmentService; +import org.hisp.dhis.dxf2.events.enrollment.Enrollments; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; + +import javax.servlet.http.HttpServletRequest; +import java.util.Map; /** * @author Morten Olav Hansen @@ -39,4 +49,29 @@ public class EnrollmentController { public static final String RESOURCE_PATH = "/enrollments"; + + @Autowired + private EnrollmentService enrollmentService; + + // ------------------------------------------------------------------------- + // READ + // ------------------------------------------------------------------------- + + @RequestMapping( value = "", method = RequestMethod.GET ) + public String getEnrollments( + @RequestParam( value = "orgUnit", required = false ) String orgUnitUid, + @RequestParam( value = "program", required = false ) String programUid, + @RequestParam( value = "person", required = false ) String personUid, + @RequestParam Map parameters, Model model, HttpServletRequest request ) + { + WebOptions options = new WebOptions( parameters ); + Enrollments enrollments; + + enrollments = enrollmentService.getEnrollments(); + + model.addAttribute( "model", enrollments ); + model.addAttribute( "viewClass", options.getViewClass( "basic" ) ); + + return "enrollments"; + } }