=== modified file 'local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/action/AddTariffDataAction.java' --- local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/action/AddTariffDataAction.java 2013-12-11 09:01:17 +0000 +++ local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/action/AddTariffDataAction.java 2013-12-11 12:08:01 +0000 @@ -1,7 +1,9 @@ package org.hisp.dhis.pbf.action; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; +import java.util.List; import org.hisp.dhis.dataelement.DataElement; import org.hisp.dhis.dataelement.DataElementCategoryOptionCombo; @@ -72,38 +74,28 @@ private String endDate; private String dataElementId; - private String orgUnitId; + private String orgUnitUid; public void setDataElementId(String dataElementId) { this.dataElementId = dataElementId; } - - - public void setOrgUnitId(String orgUnitId) { - this.orgUnitId = orgUnitId; + public void setOrgUnitUid(String orgUnitUid) { + this.orgUnitUid = orgUnitUid; } - - public void setPbfType(String pbfType) { this.pbfType = pbfType; } - - public void setTariff(String tariff) { this.tariff = tariff; } - - public void setStartDate(String startDate) { this.startDate = startDate; } - - public void setEndDate(String endDate) { this.endDate = endDate; } @@ -122,12 +114,14 @@ DataElement dataElement = dataElementService.getDataElement(Integer.parseInt(dataElementId)); - OrganisationUnit orgUnit = organisationUnitService.getOrganisationUnit(Integer.parseInt(orgUnitId)); + List orgUids = new ArrayList(); + orgUids.add(orgUnitUid); + List organisationUnits = organisationUnitService.getOrganisationUnitsByUid(orgUids); OrganisationUnitGroup orgUnitGrp = organisationUnitGroupService.getOrganisationUnitGroup(Integer.parseInt(pbfType)); DataElementCategoryOptionCombo optionCombo = categoryService.getDefaultDataElementCategoryOptionCombo(); - TariffDataValue tariffDataValue = tariffDataValueService.getTariffDataValue(orgUnit, dataElement, optionCombo, orgUnitGrp, sDate, eDate); + TariffDataValue tariffDataValue = tariffDataValueService.getTariffDataValue(organisationUnits.get(0), dataElement, optionCombo, orgUnitGrp, sDate, eDate); TariffDataValue tariffDataValue1; @@ -137,7 +131,7 @@ } else { - tariffDataValue1 = tariffDataValueService.getTariffDataValue(orgUnit, dataElement, optionCombo, orgUnitGrp, sDate, eDate); + tariffDataValue1 = tariffDataValueService.getTariffDataValue(organisationUnits.get(0), dataElement, optionCombo, orgUnitGrp, sDate, eDate); } tariffDataValue1.setValue(Double.parseDouble(tariff)); @@ -148,7 +142,7 @@ tariffDataValue1.setDataElement(dataElement); tariffDataValue1.setOptionCombo(optionCombo); tariffDataValue1.setOrganisationUnitGroup(orgUnitGrp); - tariffDataValue1.setOrganisationUnit(orgUnit); + tariffDataValue1.setOrganisationUnit(organisationUnits.get(0)); if(tariffDataValue == null) { === modified file 'local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/action/DeleteTariffDataAction.java' --- local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/action/DeleteTariffDataAction.java 2013-12-11 09:01:17 +0000 +++ local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/action/DeleteTariffDataAction.java 2013-12-11 12:08:01 +0000 @@ -3,6 +3,14 @@ import java.text.SimpleDateFormat; import java.util.Date; +import org.hisp.dhis.dataelement.DataElement; +import org.hisp.dhis.dataelement.DataElementCategoryOptionCombo; +import org.hisp.dhis.dataelement.DataElementCategoryService; +import org.hisp.dhis.dataelement.DataElementService; +import org.hisp.dhis.organisationunit.OrganisationUnit; +import org.hisp.dhis.organisationunit.OrganisationUnitGroup; +import org.hisp.dhis.organisationunit.OrganisationUnitGroupService; +import org.hisp.dhis.organisationunit.OrganisationUnitService; import org.hisp.dhis.pbf.api.TariffDataValue; import org.hisp.dhis.pbf.api.TariffDataValueService; @@ -19,7 +27,31 @@ { this.tariffDataValueService = tariffDataValueService; } - + private DataElementService dataElementService; + + public void setDataElementService(DataElementService dataElementService) { + this.dataElementService = dataElementService; + } + + private OrganisationUnitService organisationUnitService; + + public void setOrganisationUnitService( + OrganisationUnitService organisationUnitService) { + this.organisationUnitService = organisationUnitService; + } + + private OrganisationUnitGroupService organisationUnitGroupService; + + public void setOrganisationUnitGroupService( + OrganisationUnitGroupService organisationUnitGroupService) { + this.organisationUnitGroupService = organisationUnitGroupService; + } + + private DataElementCategoryService categoryService; + + public void setCategoryService(DataElementCategoryService categoryService) { + this.categoryService = categoryService; + } // ------------------------------------------------------------------------- // Input // ------------------------------------------------------------------------- @@ -36,6 +68,36 @@ private String endDate; + public void setOrganisationUnitId(String organisationUnitId) { + this.organisationUnitId = organisationUnitId; + } + + + public void setDataElementId(String dataElementId) { + this.dataElementId = dataElementId; + } + + + public void setCategoryOptionComboId(String categoryOptionComboId) { + this.categoryOptionComboId = categoryOptionComboId; + } + + + public void setOrganisationUnitGroupId(String organisationUnitGroupId) { + this.organisationUnitGroupId = organisationUnitGroupId; + } + + + public void setStartDate(String startDate) { + this.startDate = startDate; + } + + + public void setEndDate(String endDate) { + this.endDate = endDate; + } + + // ------------------------------------------------------------------------- // Action implementation // ------------------------------------------------------------------------- @@ -53,9 +115,13 @@ SimpleDateFormat dateFormat = new SimpleDateFormat( "yyyy-MM-dd" ); sDate = dateFormat.parse(startDate); eDate = dateFormat.parse(endDate); + DataElement dataElement = dataElementService.getDataElement(deId); + OrganisationUnitGroup orgUnitGrp = organisationUnitGroupService.getOrganisationUnitGroup(orgUnitGrpId); + DataElementCategoryOptionCombo optionCombo = categoryService.getDataElementCategoryOptionCombo(categoryId); + OrganisationUnit organisationUnit = organisationUnitService.getOrganisationUnit(orgUnitId); TariffDataValue tariffDataValue = tariffDataValueService.getTariffDataValue - (orgUnitId, deId, categoryId, orgUnitGrpId, sDate, eDate); + (organisationUnit, dataElement, optionCombo, orgUnitGrp, sDate, eDate); tariffDataValueService.deleteTariffDataValue(tariffDataValue); === modified file 'local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/action/GetDataElementforTariffAction.java' --- local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/action/GetDataElementforTariffAction.java 2013-12-11 09:09:47 +0000 +++ local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/action/GetDataElementforTariffAction.java 2013-12-11 12:08:01 +0000 @@ -1,8 +1,11 @@ package org.hisp.dhis.pbf.action; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; +import org.hisp.dhis.attribute.AttributeValue; import org.hisp.dhis.constant.Constant; import org.hisp.dhis.constant.ConstantService; import org.hisp.dhis.dataelement.DataElement; @@ -16,6 +19,8 @@ { private final static String TARIFF_SETTING_AUTHORITY = "TARIFF_SETTING_AUTHORITY"; + private final static String TARIFF_DATAELEMENT = "TARIFF_DATAELEMENT"; + // ------------------------------------------------------------------------- // Dependencies // ------------------------------------------------------------------------- @@ -60,9 +65,9 @@ return tariff_setting_authority; } - private List levelOrgUnitIds = new ArrayList(); + private List levelOrgUnitIds = new ArrayList(); - public List getLevelOrgUnitIds() { + public List getLevelOrgUnitIds() { return levelOrgUnitIds; } @@ -72,32 +77,39 @@ public String execute() { - if(constantService.getConstantByName( TARIFF_SETTING_AUTHORITY) == null) + Constant tariff_authority = constantService.getConstantByName( TARIFF_SETTING_AUTHORITY ); + Constant tariffDataElement = constantService.getConstantByName( TARIFF_DATAELEMENT ); + if(tariff_authority == null) { tariff_setting_authority = "Level 3"; List allLevelOrg =new ArrayList(organisationUnitService.getOrganisationUnitsAtLevel(3)) ; for(OrganisationUnit org : allLevelOrg) { - levelOrgUnitIds.add(org.getId()); + levelOrgUnitIds.add("\""+org.getUid()+"\""); } } else { - Constant tariff_authority = constantService.getConstantByName( TARIFF_SETTING_AUTHORITY ); + tariff_setting_authority = "Level "+(int)tariff_authority.getValue(); - List allLevelOrg =new ArrayList(organisationUnitService.getOrganisationUnitsAtLevel(Integer.parseInt(tariff_authority.getValue()+""))) ; + List allLevelOrg =new ArrayList(organisationUnitService.getOrganisationUnitsAtLevel((int)tariff_authority.getValue())) ; for(OrganisationUnit org : allLevelOrg) { - levelOrgUnitIds.add(org.getId()); + levelOrgUnitIds.add("\""+org.getUid()+"\""); } } List dataElements = new ArrayList(dataElementService.getAllDataElements()); + for(DataElement de : dataElements) { - if(!(dataElementList.contains("\""+de.getName()+"\""))) - { - dataElementList.add("\""+de.getName()+"\""); - } + Set attrValueSet = new HashSet( de.getAttributeValues() ); + for ( AttributeValue attValue : attrValueSet ) + { + if (!(dataElementList.contains("\""+de.getName()+"\"")) && attValue.getAttribute().getId() == tariffDataElement.getValue() ) + { + dataElementList.add("\""+de.getName()+"\""); + } + } } return SUCCESS; === modified file 'local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/action/LoadTariffDetailsAction.java' --- local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/action/LoadTariffDetailsAction.java 2013-12-11 09:09:47 +0000 +++ local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/action/LoadTariffDetailsAction.java 2013-12-11 12:08:01 +0000 @@ -3,6 +3,8 @@ import java.util.ArrayList; import java.util.List; +import org.hisp.dhis.constant.Constant; +import org.hisp.dhis.constant.ConstantService; import org.hisp.dhis.dataelement.DataElement; import org.hisp.dhis.dataelement.DataElementService; import org.hisp.dhis.organisationunit.OrganisationUnit; @@ -12,11 +14,16 @@ import org.hisp.dhis.organisationunit.OrganisationUnitService; import org.hisp.dhis.pbf.api.TariffDataValue; import org.hisp.dhis.pbf.api.TariffDataValueService; +import org.hisp.dhis.user.CurrentUserService; +import org.hisp.dhis.user.User; +import org.hisp.dhis.user.UserAuthorityGroup; import com.opensymphony.xwork2.Action; public class LoadTariffDetailsAction implements Action { + private final static String PBF_ORGUNIT_GROUP_SET = "PBF_ORGUNIT_GROUP_SET"; + // ------------------------------------------------------------------------- // Dependencies // ------------------------------------------------------------------------- @@ -47,7 +54,20 @@ OrganisationUnitGroupService organisationUnitGroupService) { this.organisationUnitGroupService = organisationUnitGroupService; } - + + private CurrentUserService currentUserService; + + public void setCurrentUserService(CurrentUserService currentUserService) { + this.currentUserService = currentUserService; + } + + private ConstantService constantService; + + public void setConstantService( ConstantService constantService ) + { + this.constantService = constantService; + } + // ------------------------------------------------------------------------- // Input / Output // ------------------------------------------------------------------------- @@ -56,18 +76,24 @@ public void setDataElementName(String dataElementName) { this.dataElementName = dataElementName; } - private String orgUnitId; + private String orgUnitUid; - public void setOrgUnitId(String orgUnitId) { - this.orgUnitId = orgUnitId; + public void setOrgUnitUid(String orgUnitUid) { + this.orgUnitUid = orgUnitUid; } - + private List tariffList = new ArrayList(); public List getTariffList() { return tariffList; } + private String updateAuthority; + + public String getUpdateAuthority() { + return updateAuthority; + } + private DataElement selecteddataElement; public DataElement getSelecteddataElement() { @@ -86,12 +112,31 @@ public String execute() { - OrganisationUnitGroupSet organisationUnitGroupSet = organisationUnitGroupService.getOrganisationUnitGroupSet(3); + Constant pbf_orgunitGrpSet = constantService.getConstantByName( PBF_ORGUNIT_GROUP_SET ); + User curUser = currentUserService.getCurrentUser(); + List userAuthorityGroups = new ArrayList( curUser.getUserCredentials() + .getUserAuthorityGroups() ); + for ( UserAuthorityGroup userAuthorityGroup : userAuthorityGroups ) + { + userAuthorityGroup.getUserGroupAccesses(); + if ( userAuthorityGroup.getAuthorities().contains( "F_TARIFFDATAVALUE_UPDATE" ) ) + { + updateAuthority = "Yes"; + } + else + { + updateAuthority = "No"; + } + } + + OrganisationUnitGroupSet organisationUnitGroupSet = organisationUnitGroupService.getOrganisationUnitGroupSet((int)pbf_orgunitGrpSet.getValue()); orGroupList = new ArrayList(organisationUnitGroupSet.getOrganisationUnitGroups()) ; selecteddataElement = dataElementService.getDataElementByName(dataElementName); - OrganisationUnit organisationUnit = organisationUnitService.getOrganisationUnit(Integer.parseInt(orgUnitId)); + List orgUids = new ArrayList(); + orgUids.add(orgUnitUid); + List organisationUnits = organisationUnitService.getOrganisationUnitsByUid(orgUids); - tariffList = new ArrayList(tariffDataValueService.getTariffDataValues(organisationUnit, selecteddataElement)) ; + tariffList = new ArrayList(tariffDataValueService.getTariffDataValues(organisationUnits.get(0), selecteddataElement)) ; return SUCCESS; } === modified file 'local/in/dhis-web-maintenance-pbf/src/main/resources/META-INF/dhis/beans.xml' --- local/in/dhis-web-maintenance-pbf/src/main/resources/META-INF/dhis/beans.xml 2013-12-11 09:01:17 +0000 +++ local/in/dhis-web-maintenance-pbf/src/main/resources/META-INF/dhis/beans.xml 2013-12-11 12:08:01 +0000 @@ -31,7 +31,9 @@ - + + + @@ -46,6 +48,10 @@ + + + + \ No newline at end of file === modified file 'local/in/dhis-web-maintenance-pbf/src/main/resources/org/hisp/dhis/pbf/i18n_module.properties' --- local/in/dhis-web-maintenance-pbf/src/main/resources/org/hisp/dhis/pbf/i18n_module.properties 2013-12-07 09:10:04 +0000 +++ local/in/dhis-web-maintenance-pbf/src/main/resources/org/hisp/dhis/pbf/i18n_module.properties 2013-12-11 12:08:01 +0000 @@ -0,0 +1,3 @@ +pbf_setup = PBF Setup +dataelement_tariff_management = Tariff Management Dataelement +pbf_management = PBF Management \ No newline at end of file === modified file 'local/in/dhis-web-maintenance-pbf/src/main/resources/struts.xml' --- local/in/dhis-web-maintenance-pbf/src/main/resources/struts.xml 2013-12-10 12:41:41 +0000 +++ local/in/dhis-web-maintenance-pbf/src/main/resources/struts.xml 2013-12-11 12:08:01 +0000 @@ -30,7 +30,8 @@ /dhis-web-maintenance-pbf/status.vm - plainTextError + plainTextError + F_TARIFFDATAVALUE_UPDATE === modified file 'local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/loadDataElementsforTariff.vm' --- local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/loadDataElementsforTariff.vm 2013-12-11 09:01:17 +0000 +++ local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/loadDataElementsforTariff.vm 2013-12-11 12:08:01 +0000 @@ -13,7 +13,7 @@ $('#loadTariffDetails').load("loadTariffDetails.action", { dataElementName:dataElementName, - orgUnitId:$("#orgUnitId").val() + orgUnitUid:$("#orgUnitUid").val() } , function( ){ }); @@ -34,7 +34,7 @@ $('#loadTariffDetails').load("loadTariffDetails.action", { dataElementName:dataElementName, - orgUnitId:$("#orgUnitId").val() + orgUnitUid:$("#orgUnitUid").val() } , function( ){ }); @@ -61,7 +61,7 @@ else { setFieldValue("orgUnit", orgUnitNames[0]); - setFieldValue("orgUnitId", orgUnits[0]); + setFieldValue("orgUnitUid", orgUnits[0]); } } @@ -69,10 +69,10 @@ selection.setListenerFunction( organisationUnitSelected );

Data Element Tariff Management

- - + +
- + @@ -81,8 +81,9 @@ - +
Orgainsation Unit Orgainsation Unit Tariff Setting Authority
  



-
\ No newline at end of file +
+ \ No newline at end of file === modified file 'local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/loadTariffData.vm' --- local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/loadTariffData.vm 2013-12-11 09:01:17 +0000 +++ local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/loadTariffData.vm 2013-12-11 12:08:01 +0000 @@ -1,13 +1,12 @@