=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientattributevalue/PatientAttributeValueService.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientattributevalue/PatientAttributeValueService.java 2011-08-02 09:12:51 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientattributevalue/PatientAttributeValueService.java 2011-12-07 02:20:11 +0000 @@ -84,4 +84,6 @@ int countSearchPatients( List patientAttributeIds, List searchTexts ); + void updatePatientAttributeValues( PatientAttributeOption patientAttributeOption); + } === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientattributevalue/PatientAttributeValueStore.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientattributevalue/PatientAttributeValueStore.java 2011-08-13 13:55:24 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientattributevalue/PatientAttributeValueStore.java 2011-12-07 02:20:11 +0000 @@ -72,4 +72,6 @@ int countSearchPatientAttributeValue( PatientAttribute patientAttribute, String searchText ); int countSearchPatients( List patientAttributeIds, List searchTexts ); + + void updatePatientAttributeValues( PatientAttributeOption patientAttributeOption); } === modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patientattributevalue/DefaultPatientAttributeValueService.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patientattributevalue/DefaultPatientAttributeValueService.java 2011-08-02 09:12:51 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patientattributevalue/DefaultPatientAttributeValueService.java 2011-12-07 02:20:11 +0000 @@ -240,4 +240,9 @@ { return patientAttributeValueStore.countSearchPatients( patientAttributeIds, searchTexts ); } + + public void updatePatientAttributeValues( PatientAttributeOption patientAttributeOption ) + { + patientAttributeValueStore.updatePatientAttributeValues( patientAttributeOption ); + } } === modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patientattributevalue/hibernate/HibernatePatientAttributeValueStore.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patientattributevalue/hibernate/HibernatePatientAttributeValueStore.java 2011-09-27 06:46:37 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patientattributevalue/hibernate/HibernatePatientAttributeValueStore.java 2011-12-07 02:20:11 +0000 @@ -39,6 +39,7 @@ import org.hisp.dhis.patient.PatientAttributeOption; import org.hisp.dhis.patientattributevalue.PatientAttributeValue; import org.hisp.dhis.patientattributevalue.PatientAttributeValueStore; +import org.springframework.jdbc.core.JdbcTemplate; /** * @author Abyot Asalefew @@ -48,6 +49,22 @@ extends HibernateGenericStore implements PatientAttributeValueStore { + + // ------------------------------------------------------------------------- + // Dependency + // ------------------------------------------------------------------------- + + private JdbcTemplate jdbcTemplate; + + public void setJdbcTemplate( JdbcTemplate jdbcTemplate ) + { + this.jdbcTemplate = jdbcTemplate; + } + + // ------------------------------------------------------------------------- + // Implementation methods + // ------------------------------------------------------------------------- + public void saveVoid( PatientAttributeValue patientAttributeValue ) { sessionFactory.getCurrentSession().save( patientAttributeValue ); @@ -236,9 +253,9 @@ hql += " ( SELECT p" + index + " FROM Patient as p" + index + " JOIN p" + index + ".identifiers as identifier" + index + " " + "WHERE lower(identifier" + index - + ".identifier)=lower('" + searchText + "') " + "OR (lower(p" + index - + ".firstName) LIKE lower('%" + firstName + "%') " + "AND lower(p" + index + ".middleName) = lower('" - + middleName + "') " + "AND lower(p" + index + ".lastName) LIKE lower('%" + lastName + "%')) "; + + ".identifier)=lower('" + searchText + "') " + "OR (lower(p" + index + ".firstName) LIKE lower('%" + + firstName + "%') " + "AND lower(p" + index + ".middleName) = lower('" + middleName + "') " + + "AND lower(p" + index + ".lastName) LIKE lower('%" + lastName + "%')) "; isSearchByAttribute = false; } @@ -278,4 +295,12 @@ return hql; } + + public void updatePatientAttributeValues( PatientAttributeOption patientAttributeOption ) + { + String sql = "UPDATE patientattributevalue SET value='" + patientAttributeOption.getName() + + "' WHERE patientattributeoptionid='" + patientAttributeOption.getId() + "'"; + + jdbcTemplate.execute( sql ); + } } === modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/resources/META-INF/dhis/beans.xml' --- dhis-2/dhis-services/dhis-service-patient/src/main/resources/META-INF/dhis/beans.xml 2011-11-30 06:38:30 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/resources/META-INF/dhis/beans.xml 2011-12-07 02:20:11 +0000 @@ -89,6 +89,7 @@ class="org.hisp.dhis.patientattributevalue.hibernate.HibernatePatientAttributeValueStore"> + attributeOptions = patientAttributeOptionService.get( patientAttribute ); @@ -178,6 +185,7 @@ { option.setName( value.trim() ); patientAttributeOptionService.updatePatientAttributeOption( option ); + patientAttributeValueService.updatePatientAttributeValues( option ); } } } === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/resources/META-INF/dhis/beans.xml' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/resources/META-INF/dhis/beans.xml 2011-11-14 12:19:36 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/resources/META-INF/dhis/beans.xml 2011-12-07 02:20:11 +0000 @@ -106,6 +106,8 @@ ref="org.hisp.dhis.patient.PatientAttributeService" /> +