=== modified file 'local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/equipment/EquipmentAttributeValue.java' --- local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/equipment/EquipmentAttributeValue.java 2013-09-05 11:11:36 +0000 +++ local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/equipment/EquipmentAttributeValue.java 2013-09-30 12:03:10 +0000 @@ -13,6 +13,8 @@ public static String PREFIX_ORGANISATIONUNIT_NAME = "orgunitname"; + public static String PREFIX_ORGANISATIONUNIT_CODE = "code"; + public static final String HEALTHFACILITY = "Health Facility"; private Equipment equipment; === modified file 'local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/equipment/EquipmentService.java' --- local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/equipment/EquipmentService.java 2013-09-05 11:11:36 +0000 +++ local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/equipment/EquipmentService.java 2013-09-30 12:03:10 +0000 @@ -47,6 +47,8 @@ Collection searchOrgUnitListByName( String searchText ); + Collection searchOrgUnitListByCode( String searchText ); + // for orgUnit list according to orGUnit Attribute values for paging purpose int countOrgUnitByAttributeValue( Collection orgunitIds, Attribute attribute, String searchText ); Collection searchOrgUnitByAttributeValue( Collection orgunitIds, Attribute attribute, String searchText, Integer min, Integer max ); === modified file 'local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/equipment/EquipmentStore.java' --- local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/equipment/EquipmentStore.java 2013-09-05 11:11:36 +0000 +++ local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/equipment/EquipmentStore.java 2013-09-30 12:03:10 +0000 @@ -42,6 +42,8 @@ Collection searchOrgUnitListByName( String searchText ); + Collection searchOrgUnitListByCode( String searchText ); + // for orgUnit list according to orGUnit Attribute values for paging purpose int countOrgUnitByAttributeValue( Collection orgunitIds, Attribute attribute, String searchText ); === modified file 'local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/model/Model.java' --- local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/model/Model.java 2013-09-05 11:11:36 +0000 +++ local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/model/Model.java 2013-09-30 12:03:10 +0000 @@ -12,7 +12,9 @@ public static final String DEFAULT_CCEMFOLDER = "CCEMIMAGES"; public static String PREFIX_MODEL_NAME = "modelname"; + public static final String NAME_OWNERSHIP_GROUP_SET = "Ownership"; public static final String NAME_FACILITY_TYPE = "Facility Type"; + //public static final String NAME_FACILITY_TYPE = "Type"; private int id; === modified file 'local/in/dhis-in-services/dhis-in-service-coldchain/src/main/java/org/hisp/dhis/coldchain/equipment/DefaultEquipmentService.java' --- local/in/dhis-in-services/dhis-in-service-coldchain/src/main/java/org/hisp/dhis/coldchain/equipment/DefaultEquipmentService.java 2013-09-05 11:11:36 +0000 +++ local/in/dhis-in-services/dhis-in-service-coldchain/src/main/java/org/hisp/dhis/coldchain/equipment/DefaultEquipmentService.java 2013-09-30 12:03:10 +0000 @@ -168,6 +168,12 @@ return equipmentStore.searchOrgUnitListByName( searchText ); } + public Collection searchOrgUnitListByCode( String searchText ) + { + return equipmentStore.searchOrgUnitListByCode( searchText ); + } + + // for orgUnit list according to orGUnit Attribute values for paging purpose public int countOrgUnitByAttributeValue( Collection orgunitIds, Attribute attribute, String searchText ) { === modified file 'local/in/dhis-in-services/dhis-in-service-coldchain/src/main/java/org/hisp/dhis/coldchain/equipment/hibernate/HibernateEquipmentStore.java' --- local/in/dhis-in-services/dhis-in-service-coldchain/src/main/java/org/hisp/dhis/coldchain/equipment/hibernate/HibernateEquipmentStore.java 2013-09-05 11:11:36 +0000 +++ local/in/dhis-in-services/dhis-in-service-coldchain/src/main/java/org/hisp/dhis/coldchain/equipment/hibernate/HibernateEquipmentStore.java 2013-09-30 12:03:10 +0000 @@ -288,6 +288,29 @@ } + + @SuppressWarnings( "unchecked" ) + public Collection searchOrgUnitListByCode( String searchText ) + { + String hql = "SELECT orgUnit FROM OrganisationUnit AS orgUnit WHERE orgUnit.code like '%" + searchText + "%'"; + + Query query = getQuery( hql ); + + return query.list(); + + /* + Criteria criteria = getCriteria(); + + criteria.add(Restrictions.like( "OrganisationUnit.name", "%" + searchText + "%")); + + return criteria.list(); + */ + + } + + + + // for orgUnit list according to orGUnit Attribute values for paging purpose public int countOrgUnitByAttributeValue( Collection orgunitIds, Attribute attribute, String searchText ) { === modified file 'local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/equipment/manager/action/GetOrganisationUnitDetailsAction.java' --- local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/equipment/manager/action/GetOrganisationUnitDetailsAction.java 2013-09-05 11:11:36 +0000 +++ local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/equipment/manager/action/GetOrganisationUnitDetailsAction.java 2013-09-30 12:03:10 +0000 @@ -266,11 +266,37 @@ return total; } + private OrganisationUnitGroupSet organisationUnitOwnershipGroupSet; + + public OrganisationUnitGroupSet getOrganisationUnitOwnershipGroupSet() + { + return organisationUnitOwnershipGroupSet; + } + + private List orgUnitOwnershipGroupSetMember; + + public List getOrgUnitOwnershipGroupSetMember() + { + return orgUnitOwnershipGroupSetMember; + } + + private Map orgUnitGroupSetOwnerShipNameMap = new HashMap(); + + public Map getOrgUnitGroupSetOwnerShipNameMap() + { + return orgUnitGroupSetOwnerShipNameMap; + } + // ------------------------------------------------------------------------- // Implementation Action // ------------------------------------------------------------------------- + + + + + public String execute() throws Exception { @@ -302,28 +328,67 @@ orgUnitList.retainAll( ouGroup.getMembers() ); } + List organisationUnitGroupSets = new ArrayList( organisationUnitGroupService.getOrganisationUnitGroupSetByName( Model.NAME_FACILITY_TYPE ) ); organisationUnitGroupSet = organisationUnitGroupSets.get(0); orgUnitGroups = new ArrayList( organisationUnitGroupSet.getOrganisationUnitGroups() ); + + + List orgUnitOwnerShipGroupSets = new ArrayList( organisationUnitGroupService.getOrganisationUnitGroupSetByName( Model.NAME_OWNERSHIP_GROUP_SET ) ); + organisationUnitOwnershipGroupSet = orgUnitOwnerShipGroupSets.get(0); + orgUnitOwnershipGroupSetMember = new ArrayList( organisationUnitOwnershipGroupSet.getOrganisationUnitGroups() ); + + /* + if ( organisationUnitOwnershipGroupSet != null ) + { + orgUnitGroups.addAll( orgUnitOwnershipGroupSetMember ); + } + + orgUnitGroups.addAll( orgUnitOwnershipGroupSetMember ); + */ + + Collections.sort( orgUnitOwnershipGroupSetMember, new IdentifiableObjectNameComparator() ); + Collections.sort( orgUnitGroups, new IdentifiableObjectNameComparator() ); + /* + for ( OrganisationUnitGroup organisationUnitGroup : orgUnitGroups ) + { + System.out.println( organisationUnitGroup.getName() ); + } + */ + //for ( OrganisationUnitGroup organisationUnitGroup : orgUnitGroups ) //{ for( OrganisationUnit orgUnit : orgUnitList ) { - for ( OrganisationUnitGroup organisationUnitGroup : orgUnitGroups ) + for ( OrganisationUnitGroup organisationUnitGroup : organisationUnitGroupSet.getOrganisationUnitGroups() ) { if( orgUnit.getGroups() != null && orgUnit.getGroups().size() > 0 ) { if( orgUnit.getGroups().contains( organisationUnitGroup ) ) { + orgUnitGroupNameMap.put( orgUnit.getId(), organisationUnitGroup.getName() ); break; } } } + for ( OrganisationUnitGroup organisationUnitGroup : organisationUnitOwnershipGroupSet.getOrganisationUnitGroups() ) + { + if( orgUnit.getGroups() != null && orgUnit.getGroups().size() > 0 ) + { + if( orgUnit.getGroups().contains( organisationUnitGroup ) ) + { + + orgUnitGroupSetOwnerShipNameMap.put( orgUnit.getId(), organisationUnitGroup.getName() ); + break; + } + } + } + /* if( organisationUnitGroup.getMembers().contains( orgUnit ) ); { @@ -358,7 +423,7 @@ if ( listFilterOrgUnit != null && listFilterOrgUnit ) { - if( searchingOrgUnitFilterOptionId.equalsIgnoreCase( Model.NAME_FACILITY_TYPE ) ) + if( searchingOrgUnitFilterOptionId.equalsIgnoreCase( Model.NAME_FACILITY_TYPE ) || searchingOrgUnitFilterOptionId.equalsIgnoreCase( Model.NAME_OWNERSHIP_GROUP_SET ) ) { OrganisationUnitGroup filterOrgUnitGroup = organisationUnitGroupService.getOrganisationUnitGroup( searchingOrgUnitGroupId ); @@ -368,7 +433,7 @@ for( OrganisationUnit orgUnit : orgUnitList ) { - for ( OrganisationUnitGroup organisationUnitGroup : orgUnitGroups ) + for ( OrganisationUnitGroup organisationUnitGroup : organisationUnitGroupSet.getOrganisationUnitGroups() ) { if( orgUnit.getGroups() != null && orgUnit.getGroups().size() > 0 ) { @@ -379,6 +444,20 @@ } } } + + for ( OrganisationUnitGroup organisationUnitGroup : organisationUnitOwnershipGroupSet.getOrganisationUnitGroups() ) + { + if( orgUnit.getGroups() != null && orgUnit.getGroups().size() > 0 ) + { + if( orgUnit.getGroups().contains( organisationUnitGroup ) ) + { + + orgUnitGroupSetOwnerShipNameMap.put( orgUnit.getId(), organisationUnitGroup.getName() ); + break; + } + } + } + orgunitHierarchyMap.put( orgUnit.getId(), getHierarchyOrgunit( orgUnit ) ); } @@ -400,17 +479,77 @@ for( OrganisationUnit orgUnit : orgUnitList ) { - for ( OrganisationUnitGroup organisationUnitGroup : orgUnitGroups ) - { - if( orgUnit.getGroups() != null && orgUnit.getGroups().size() > 0 ) - { - if( orgUnit.getGroups().contains( organisationUnitGroup ) ) - { - orgUnitGroupNameMap.put( orgUnit.getId(), organisationUnitGroup.getName() ); - break; - } - } - } + for ( OrganisationUnitGroup organisationUnitGroup : organisationUnitGroupSet.getOrganisationUnitGroups() ) + { + if( orgUnit.getGroups() != null && orgUnit.getGroups().size() > 0 ) + { + if( orgUnit.getGroups().contains( organisationUnitGroup ) ) + { + orgUnitGroupNameMap.put( orgUnit.getId(), organisationUnitGroup.getName() ); + break; + } + } + } + + for ( OrganisationUnitGroup organisationUnitGroup : organisationUnitOwnershipGroupSet.getOrganisationUnitGroups() ) + { + if( orgUnit.getGroups() != null && orgUnit.getGroups().size() > 0 ) + { + if( orgUnit.getGroups().contains( organisationUnitGroup ) ) + { + + orgUnitGroupSetOwnerShipNameMap.put( orgUnit.getId(), organisationUnitGroup.getName() ); + break; + } + } + } + + orgunitHierarchyMap.put( orgUnit.getId(), getHierarchyOrgunit( orgUnit ) ); + } + + getOrganisationUnitAttributeData( ); + + return SUCCESS; + } + + else if( searchingOrgUnitFilterOptionId.equalsIgnoreCase( EquipmentAttributeValue.PREFIX_ORGANISATIONUNIT_CODE ) ) + { + //orgUnitList = new ArrayList(); + + //orgUnitList = new ArrayList( equipmentService.searchOrgUnitListByName( searchOrgText )); + + orgUnitList.retainAll( equipmentService.searchOrgUnitListByCode( searchOrgText ) ); + + filteredOrgUnitList.addAll( orgUnitList ); + + for( OrganisationUnit orgUnit : orgUnitList ) + { + for ( OrganisationUnitGroup organisationUnitGroup : organisationUnitGroupSet.getOrganisationUnitGroups() ) + { + if( orgUnit.getGroups() != null && orgUnit.getGroups().size() > 0 ) + { + if( orgUnit.getGroups().contains( organisationUnitGroup ) ) + { + orgUnitGroupNameMap.put( orgUnit.getId(), organisationUnitGroup.getName() ); + break; + } + } + } + + + for ( OrganisationUnitGroup organisationUnitGroup : organisationUnitOwnershipGroupSet.getOrganisationUnitGroups() ) + { + if( orgUnit.getGroups() != null && orgUnit.getGroups().size() > 0 ) + { + if( orgUnit.getGroups().contains( organisationUnitGroup ) ) + { + + orgUnitGroupSetOwnerShipNameMap.put( orgUnit.getId(), organisationUnitGroup.getName() ); + break; + } + } + } + orgunitHierarchyMap.put( orgUnit.getId(), getHierarchyOrgunit( orgUnit ) ); } @@ -437,7 +576,7 @@ orgunitHierarchyMap.put( orgUnit.getId(), getHierarchyOrgunit( orgUnit ) ); - for ( OrganisationUnitGroup organisationUnitGroup : orgUnitGroups ) + for ( OrganisationUnitGroup organisationUnitGroup : organisationUnitGroupSet.getOrganisationUnitGroups() ) { if( orgUnit.getGroups() != null && orgUnit.getGroups().size() > 0 ) { @@ -448,6 +587,20 @@ } } } + + for ( OrganisationUnitGroup organisationUnitGroup : organisationUnitOwnershipGroupSet.getOrganisationUnitGroups() ) + { + if( orgUnit.getGroups() != null && orgUnit.getGroups().size() > 0 ) + { + if( orgUnit.getGroups().contains( organisationUnitGroup ) ) + { + + orgUnitGroupSetOwnerShipNameMap.put( orgUnit.getId(), organisationUnitGroup.getName() ); + break; + } + } + } + } listOrganisationUnitByFilter( orgUnitIdsByComma, attribute, searchOrgText ); @@ -554,21 +707,6 @@ } - - - - - - - - - - - - - - - private String getHierarchyOrgunit( OrganisationUnit orgunit ) { //String hierarchyOrgunit = orgunit.getName(); @@ -588,7 +726,7 @@ orgunit = orgunit.getParent(); } - hierarchyOrgunit = hierarchyOrgunit.substring( hierarchyOrgunit.indexOf( "/" ) +1 ); + hierarchyOrgunit = hierarchyOrgunit.substring( hierarchyOrgunit.indexOf( "/" ) + 1 ); return hierarchyOrgunit; } === modified file 'local/in/dhis-web-coldchain/src/main/resources/org/hisp/dhis/coldchain/i18n_module.properties' --- local/in/dhis-web-coldchain/src/main/resources/org/hisp/dhis/coldchain/i18n_module.properties 2013-09-05 11:11:36 +0000 +++ local/in/dhis-web-coldchain/src/main/resources/org/hisp/dhis/coldchain/i18n_module.properties 2013-09-30 12:03:10 +0000 @@ -158,7 +158,7 @@ orgunit_hierarchy = Administrative region -health_facility_name = Health facility name +health_facility_name = Name facilities = Facilities equipment_in = Equipment in equipment_manager = Equipment Manager @@ -177,4 +177,7 @@ equipment_count = Equipment Count vaccines = Vaccines orunit_name = OrgUnit Name -code_in_use=The code is already in use. Please choose a different code. \ No newline at end of file +code_in_use=The code is already in use. Please choose a different code. +type = Type +code = Code +ownership = Ownership \ No newline at end of file === modified file 'local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/clinicEquipmentsAndOrgUnitDetails.vm' --- local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/clinicEquipmentsAndOrgUnitDetails.vm 2013-09-05 11:11:36 +0000 +++ local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/clinicEquipmentsAndOrgUnitDetails.vm 2013-09-30 12:03:10 +0000 @@ -43,14 +43,29 @@ + + + + + - @@ -87,10 +101,16 @@ $i18n.getString( "orgunit_hierarchy" ) $i18n.getString( "health_facility_name" ) + $i18n.getString( "code" ) + + $i18n.getString( "ownership" ) + $i18n.getString( "type" ) + +    @@ -100,11 +120,15 @@ $!orgunitHierarchyMap.get( $orgUnit.id ) $encoder.htmlEncode( $orgUnit.name ) - #foreach( $attribute in $attributes ) + $!orgUnit.code + + $!orgUnitGroupSetOwnerShipNameMap.get( $orgUnit.id ) + $!orgUnitGroupNameMap.get( $orgUnit.id ) Details #set( $mark = !$mark) @@ -129,7 +153,7 @@ Filter - +