=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/hibernate/HibernatePatientStore.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/hibernate/HibernatePatientStore.java 2012-08-20 03:18:20 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/hibernate/HibernatePatientStore.java 2012-08-21 06:18:26 +0000 @@ -414,7 +414,7 @@ patientWhere += "psi.completed=true"; break; case ProgramStageInstance.VISITED_STATUS: - patientWhere += "psi.executiondate is not null"; + patientWhere += "psi.executiondate is not null and psi.completed=false"; break; case ProgramStageInstance.FUTURE_VISIT_STATUS: patientWhere += "psi.executiondate is null and psi.duedate >= now()"; @@ -464,6 +464,7 @@ { sql += statementBuilder.limitRecord( min, max ); } + return sql; } === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/CreateAnonymousEncounterAction.java' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/CreateAnonymousEncounterAction.java 2012-08-20 03:18:20 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/CreateAnonymousEncounterAction.java 2012-08-21 06:18:26 +0000 @@ -0,0 +1,159 @@ +/* + * Copyright (c) 2004-2012, University of Oslo + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * * Neither the name of the HISP project nor the names of its contributors may + * be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.hisp.dhis.caseentry.action.caseentry; + +import java.util.Date; + +import org.hisp.dhis.caseentry.state.SelectedStateManager; +import org.hisp.dhis.i18n.I18n; +import org.hisp.dhis.i18n.I18nFormat; +import org.hisp.dhis.program.Program; +import org.hisp.dhis.program.ProgramInstance; +import org.hisp.dhis.program.ProgramInstanceService; +import org.hisp.dhis.program.ProgramService; +import org.hisp.dhis.program.ProgramStage; +import org.hisp.dhis.program.ProgramStageInstance; +import org.hisp.dhis.program.ProgramStageInstanceService; + +import com.opensymphony.xwork2.Action; + +/** + * @author Chau Thu Tran + * + * @version $Id: CreateAnonymousEncounterAction.java Dec 16, 2011 9:08:12 AM $ + */ +public class CreateAnonymousEncounterAction + implements Action +{ + // ------------------------------------------------------------------------- + // Dependencies + // ------------------------------------------------------------------------- + + private SelectedStateManager selectedStateManager; + + public void setSelectedStateManager( SelectedStateManager selectedStateManager ) + { + this.selectedStateManager = selectedStateManager; + } + + private ProgramService programService; + + public void setProgramService( ProgramService programService ) + { + this.programService = programService; + } + + private ProgramInstanceService programInstanceService; + + public void setProgramInstanceService( ProgramInstanceService programInstanceService ) + { + this.programInstanceService = programInstanceService; + } + + private ProgramStageInstanceService programStageInstanceService; + + public void setProgramStageInstanceService( ProgramStageInstanceService programStageInstanceService ) + { + this.programStageInstanceService = programStageInstanceService; + } + + private I18nFormat format; + + public void setFormat( I18nFormat format ) + { + this.format = format; + } + + private I18n i18n; + + public void setI18n( I18n i18n ) + { + this.i18n = i18n; + } + + // ------------------------------------------------------------------------- + // Input/Output + // ------------------------------------------------------------------------- + + private Integer programId; + + public void setProgramId( Integer programId ) + { + this.programId = programId; + } + + public String executionDate; + + public void setExecutionDate( String executionDate ) + { + this.executionDate = executionDate; + } + + private String message; + + public String getMessage() + { + return message; + } + + // ------------------------------------------------------------------------- + // Action implementation + // ------------------------------------------------------------------------- + + @Override + public String execute() + throws Exception + { + Date date = format.parseDate( executionDate ); + + if ( date == null ) + { + message = i18n.getString( "please_enter_report_date" ); + } + else + { + Program program = programService.getProgram( programId ); + ProgramStage programStage = program.getProgramStages().iterator().next(); + + ProgramInstance programInstance = programInstanceService.getProgramInstances( program ).iterator().next(); + + ProgramStageInstance programStageInstance = new ProgramStageInstance(); + programStageInstance.setProgramInstance( programInstance ); + programStageInstance.setProgramStage( programStage ); + programStageInstance.setDueDate( date ); + programStageInstance.setExecutionDate( date ); + programStageInstance.setOrganisationUnit( selectedStateManager.getSelectedOrganisationUnit() ); + + int id = programStageInstanceService.addProgramStageInstance( programStageInstance ); + + message = id + ""; + } + + return (date != null) ? SUCCESS : INPUT; + } +} \ No newline at end of file === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/GetDataRecordsAction.java' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/GetDataRecordsAction.java 2012-08-13 07:40:34 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/GetDataRecordsAction.java 2012-08-21 06:18:26 +0000 @@ -106,14 +106,14 @@ { this.listAll = listAll; } - + private Boolean searchBySelectedOrgunit; - + public void setSearchBySelectedOrgunit( Boolean searchBySelectedOrgunit ) { this.searchBySelectedOrgunit = searchBySelectedOrgunit; } - + private List searchTexts = new ArrayList(); public void setSearchTexts( List searchTexts ) @@ -163,6 +163,13 @@ return patients; } + private Collection programStageInstanceIds; + + public Collection getProgramStageInstanceIds() + { + return programStageInstanceIds; + } + // ------------------------------------------------------------------------- // Implementation Action // ------------------------------------------------------------------------- @@ -177,7 +184,7 @@ // --------------------------------------------------------------------- // Program instances for the selected program // --------------------------------------------------------------------- - + // List all patients if ( listAll ) { @@ -192,11 +199,12 @@ else if ( searchTexts.size() > 0 ) { orgunit = (searchBySelectedOrgunit) ? orgunit : null; + + total = patientService.countSearchPatients( searchTexts, orgunit ); + this.paging = createPaging( total ); + patients = patientService.searchPatients( searchTexts, orgunit, paging.getStartPos(), paging.getPageSize() ); - total = patientService.countSearchPatients( searchTexts, orgunit ); - this.paging = createPaging( total ); - patients = patientService.searchPatients( searchTexts, orgunit, paging.getStartPos(), - paging.getPageSize() ); + programStageInstanceIds = patientService.getProgramStageInstances( searchTexts, orgunit, paging.getStartPos(), paging.getPageSize() ); } Collection programStageInstances = new ArrayList(); === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/org/hisp/dhis/caseentry/i18n_module.properties' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/org/hisp/dhis/caseentry/i18n_module.properties 2012-08-20 08:50:44 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/org/hisp/dhis/caseentry/i18n_module.properties 2012-08-21 06:18:26 +0000 @@ -418,4 +418,5 @@ no_sms_service_available = No Sms service available due_date_from_to = Due date (from-to) no_phone_number = No phone number -no_comment = No comment \ No newline at end of file +no_comment = No comment +please_select_program_stage = Please select program stage \ No newline at end of file === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/smsReminder.js' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/smsReminder.js 2012-08-20 08:50:44 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/smsReminder.js 2012-08-21 06:18:26 +0000 @@ -22,6 +22,7 @@ function listAllPatient() { + setFieldValue('listAll', "true"); hideById('listPatientDiv'); contentDiv = 'listPatientDiv'; $('#contentDataRecord').html(''); @@ -41,6 +42,8 @@ function advancedSearch( params ) { + + setFieldValue('listAll', "false"); $('#contentDataRecord').html(''); params += "&searchTexts=prg_" + getFieldValue('programIdAddPatient'); params += "&programId=" + getFieldValue('programIdAddPatient'); === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/smsPatientRecords.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/smsPatientRecords.vm 2012-08-20 08:50:44 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/smsPatientRecords.vm 2012-08-21 06:18:26 +0000 @@ -46,14 +46,13 @@ #set( $flag = "false" ) #foreach( $programStageInstance in $programStageInstances ) - + - + @@ -137,4 +124,21 @@
-#end \ No newline at end of file +#end + + \ No newline at end of file
- -