@Override public void deleteProgramInstance( ProgramInstance programInstance, boolean forceDelete ) { if ( forceDelete ) { programInstanceStore.delete( programInstance ); } else { programInstance.setDeleted( true ); programInstance.setStatus( ProgramStatus.CANCELLED ); programInstanceStore.update( programInstance ); } }
@Override public void incompleteProgramInstanceStatus( ProgramInstance programInstance ) { Program program = programInstance.getProgram(); TrackedEntityInstance tei = programInstance.getEntityInstance(); if ( getProgramInstances( tei, program, ProgramStatus.ACTIVE ).size() > 0 ) { log.warn( "Program has another active enrollment going on. Not possible to incomplete" ); throw new IllegalQueryException( "Program has another active enrollment going on. Not possible to incomplete" ); } // ----------------------------------------------------------------- // Update program-instance // ----------------------------------------------------------------- programInstance.setStatus( ProgramStatus.ACTIVE ); updateProgramInstance( programInstance ); }
@Override public void completeProgramInstanceStatus( ProgramInstance programInstance ) { // --------------------------------------------------------------------- // Send sms-message when to completed the program // --------------------------------------------------------------------- programNotificationPublisher.publishEnrollment( programInstance, ProgramNotificationEventType.PROGRAM_COMPLETION ); eventPublisher.publishEvent( new TrackedEntityInstanceEnrolledEvent( this, programInstance ) ); // ----------------------------------------------------------------- // Update program-instance // ----------------------------------------------------------------- programInstance.setStatus( ProgramStatus.COMPLETED ); programInstance.setEndDate( new Date() ); programInstance.setCompletedBy( currentUserService.getCurrentUsername() ); updateProgramInstance( programInstance ); }
programInstance.setStatus( ProgramStatus.CANCELLED ); updateProgramInstance( programInstance );
@Override public ProgramInstance prepareProgramInstance( TrackedEntityInstance trackedEntityInstance, Program program, ProgramStatus programStatus, Date enrollmentDate, Date incidentDate, OrganisationUnit organisationUnit, String uid ) { if ( program.getTrackedEntityType() != null && !program.getTrackedEntityType().equals( trackedEntityInstance.getTrackedEntityType() ) ) { throw new IllegalQueryException( "Tracked entity instance must have same tracked entity as program: " + program.getUid() ); } ProgramInstance programInstance = new ProgramInstance(); programInstance.setUid( CodeGenerator.isValidUid( uid ) ? uid : CodeGenerator.generateUid() ); programInstance.setOrganisationUnit( organisationUnit ); programInstance.enrollTrackedEntityInstance( trackedEntityInstance, program ); if ( enrollmentDate != null ) { programInstance.setEnrollmentDate( enrollmentDate ); } else { programInstance.setEnrollmentDate( new Date() ); } if ( incidentDate != null ) { programInstance.setIncidentDate( incidentDate ); } else { programInstance.setIncidentDate( new Date() ); } programInstance.setStatus( programStatus ); return programInstance; }
pi.setIncidentDate( new Date() ); pi.setProgram( smsCommand.getProgram() ); pi.setStatus( ProgramStatus.ACTIVE );
pi.setIncidentDate( new Date() ); pi.setProgram( program ); pi.setStatus( ProgramStatus.ACTIVE ); pi.setStoredBy( storedBy );