dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #28489
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 14227: local/in PBF Maintenance work in progress
------------------------------------------------------------
revno: 14227
committer: Mithilesh Kumar Thakur <mithilesh.hisp@xxxxxxxxx>
branch nick: dhis2
timestamp: Fri 2014-03-14 12:22:16 +0100
message:
local/in PBF Maintenance work in progress
added:
local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/GetAggregationQueryAction.java
local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/RemoveAggregationQueryAction.java
local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/RunAggregationQueryFormAction.java
local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/ShowUpdateAggregationQueryFormAction.java
local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/UpdateAggregationQueryAction.java
local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/javascript/prevNextPeriods.js
local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/jsonAggregationQuery.vm
local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/updateAggregationQueryForm.vm
modified:
local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/equipment/action/AddEquipmentAction.java
local/in/dhis-web-coldchain/src/main/resources/org/hisp/dhis/coldchain/i18n_module.properties
local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/addEquipmentForm.vm
local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/showEquipmentDetails.vm
local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/action/AddBankDataAction.java
local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/AddAggregationQueryAction.java
local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/AddAggregationQueryFormAction.java
local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/RunAggregationQueryAction.java
local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/dataentry/LoadNextPrePeriodsAction.java
local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/impl/DefaultPBFAggregationService.java
local/in/dhis-web-maintenance-pbf/src/main/resources/META-INF/dhis/beans.xml
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/struts.xml
local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/addAggregationQuery.vm
local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/aggregationQueryList.vm
local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/javascript/aggregationEngine.js
local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/runAggregationQueryForm.vm
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/equipment/action/AddEquipmentAction.java'
--- local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/equipment/action/AddEquipmentAction.java 2013-10-18 05:57:53 +0000
+++ local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/equipment/action/AddEquipmentAction.java 2014-03-14 11:22:16 +0000
@@ -18,6 +18,7 @@
import org.hisp.dhis.coldchain.equipment.EquipmentType_Attribute;
import org.hisp.dhis.coldchain.model.Model;
import org.hisp.dhis.coldchain.model.ModelService;
+import org.hisp.dhis.i18n.I18nFormat;
import org.hisp.dhis.option.OptionSet;
import org.hisp.dhis.organisationunit.OrganisationUnit;
import org.hisp.dhis.organisationunit.OrganisationUnitService;
@@ -42,6 +43,13 @@
private ModelService modelService;
+ private I18nFormat format;
+
+ public void setFormat( I18nFormat format )
+ {
+ this.format = format;
+ }
+
// -------------------------------------------------------------------------
// Input/ Output
// -------------------------------------------------------------------------
@@ -78,6 +86,14 @@
{
this.organisationUnit = organisationUnit;
}
+
+ private String registrationDate;
+
+ public void setRegistrationDate( String registrationDate )
+ {
+ this.registrationDate = registrationDate;
+ }
+
// -------------------------------------------------------------------------
// Action implementation
@@ -106,6 +122,8 @@
equipment.setEquipmentType( equipmentType );
equipment.setOrganisationUnit( orgUnit );
+ equipment.setRegistrationDate( format.parseDate( registrationDate ) );
+
//equipment.setWorking( workingStatus );
if( selModel != null )
=== 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-12-30 05:54:06 +0000
+++ local/in/dhis-web-coldchain/src/main/resources/org/hisp/dhis/coldchain/i18n_module.properties 2014-03-14 11:22:16 +0000
@@ -182,4 +182,6 @@
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
+ownership = Ownership
+
+registration_date = Registration date
\ No newline at end of file
=== modified file 'local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/addEquipmentForm.vm'
--- local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/addEquipmentForm.vm 2013-10-18 05:57:53 +0000
+++ local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/addEquipmentForm.vm 2014-03-14 11:22:16 +0000
@@ -63,6 +63,19 @@
</tr>
#end
+ <tr>
+ <td width="75%">$i18n.getString( "registration_date" )<em title="$i18n.getString( 'required' )" class="required">*</em></td>
+ <td width="25%">
+ <input type="text" id="registrationDate" name="registrationDate" class="{validate:{required:true}}"/>
+ <script type="text/javascript">
+ datePickerValid( 'registrationDate', true );
+ </script>
+ </td>
+ </tr>
+
+
+
+
<!-- EquipmentType Attributes -->
<tr><td> </td><td> </td></tr>
<!--<tr><th colspan="2" class="heading-column">$i18n.getString( "equipmentType_attribute_details" )</th></tr>-->
=== modified file 'local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/showEquipmentDetails.vm'
--- local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/showEquipmentDetails.vm 2013-12-30 05:54:06 +0000
+++ local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/showEquipmentDetails.vm 2014-03-14 11:22:16 +0000
@@ -11,6 +11,13 @@
<!--<tr><td> </td><td> </td></tr>-->
<!--<tr><th colspan="2" class="heading-column">$i18n.getString( "equipmentType_attribute_details" )</th></tr>-->
#set( $mark = false )
+
+ <tr #alternate($mark)>
+ <td class='text-column'><label>$i18n.getString( "registration_date" )</label></td>
+ <td class="text-column">$format.formatDate( $!equipment.getRegistrationDate() )</td>
+ </tr>
+
+ #set( $mark = true )
#foreach( $attribute in $equipmentTypeAttributes )
#set( $attributeValue = "" )
#set( $attributeValue = $!equipmentValueMap.get( $attribute.id ) )
=== modified file 'local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/action/AddBankDataAction.java'
--- local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/action/AddBankDataAction.java 2013-12-24 12:23:11 +0000
+++ local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/action/AddBankDataAction.java 2014-03-14 11:22:16 +0000
@@ -18,24 +18,25 @@
private BankDetailsService bankDetailsService;
- public void setBankDetailsService(BankDetailsService bankDetailsService) {
- this.bankDetailsService = bankDetailsService;
- }
-
+ public void setBankDetailsService( BankDetailsService bankDetailsService )
+ {
+ this.bankDetailsService = bankDetailsService;
+ }
+
private OrganisationUnitService organisationUnitService;
public void setOrganisationUnitService( OrganisationUnitService organisationUnitService )
{
this.organisationUnitService = organisationUnitService;
}
-
+
private DataSetService dataSetService;
-
+
public void setDataSetService( DataSetService dataSetService )
{
this.dataSetService = dataSetService;
}
-
+
// -------------------------------------------------------------------------
// Input
// -------------------------------------------------------------------------
@@ -48,66 +49,72 @@
}
private String dataSetId;
-
- public void setDataSetId(String dataSetId) {
- this.dataSetId = dataSetId;
- }
-
+
+ public void setDataSetId( String dataSetId )
+ {
+ this.dataSetId = dataSetId;
+
+ }
+
private String accountNumber;
-
- public void setAccountNumber(String accountNumber) {
- this.accountNumber = accountNumber;
- }
-
+
+ public void setAccountNumber( String accountNumber )
+ {
+ this.accountNumber = accountNumber;
+ }
+
private String accountName;
-
- public void setAccountName(String accountName) {
- this.accountName = accountName;
- }
-
+
+ public void setAccountName( String accountName )
+ {
+ this.accountName = accountName;
+ }
+
private String bank;
- public void setBank(String bank) {
- this.bank = bank;
- }
-
- private String branchName;
-
- public void setBranchName(String branchName) {
- this.branchName = branchName;
- }
-
+ public void setBank( String bank )
+ {
+ this.bank = bank;
+ }
+
+ private String branchName;
+
+ public void setBranchName( String branchName )
+ {
+ this.branchName = branchName;
+ }
+
// -------------------------------------------------------------------------
// Action implementation
// -------------------------------------------------------------------------
- public String execute()
+ public String execute()
throws Exception
- {
+ {
OrganisationUnit organisationUnit = organisationUnitService.getOrganisationUnit( orgUnitUid );
-
- DataSet dataSet = dataSetService.getDataSet(Integer.parseInt(dataSetId));
-
- BankDetails bankDetails = bankDetailsService.getBankDetails(organisationUnit, dataSet);
-
+
+ DataSet dataSet = dataSetService.getDataSet( Integer.parseInt( dataSetId ) );
+
+ BankDetails bankDetails = bankDetailsService.getBankDetails( organisationUnit, dataSet );
+
if ( bankDetails == null )
{
- bankDetails = new BankDetails();
- bankDetails.setDataSet(dataSet);
- bankDetails.setOrganisationUnit(organisationUnit);
- bankDetails.setAccountName(accountName);
- bankDetails.setAccountNumber(accountNumber);
- bankDetails.setBank(bank);
- bankDetails.setBranchName(branchName);
- bankDetailsService.addBankDetails(bankDetails);
+ bankDetails = new BankDetails();
+ bankDetails.setDataSet( dataSet );
+ bankDetails.setOrganisationUnit( organisationUnit );
+ bankDetails.setAccountName( accountName );
+ bankDetails.setAccountNumber( accountNumber );
+ bankDetails.setBank( bank );
+ bankDetails.setBranchName( branchName );
+ bankDetailsService.addBankDetails( bankDetails );
}
else
{
- bankDetails.setAccountName(accountName);
- bankDetails.setAccountNumber(accountNumber);
- bankDetails.setBank(bank);
- bankDetails.setBranchName(branchName);
- bankDetailsService.updateBankDetails(bankDetails);
+ bankDetails.setAccountName( accountName );
+ bankDetails.setAccountNumber( accountNumber );
+ bankDetails.setBank( bank );
+ bankDetails.setBranchName( branchName );
+ bankDetailsService.updateBankDetails( bankDetails );
}
return SUCCESS;
=== modified file 'local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/AddAggregationQueryAction.java'
--- local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/AddAggregationQueryAction.java 2014-02-05 10:49:02 +0000
+++ local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/AddAggregationQueryAction.java 2014-03-14 11:22:16 +0000
@@ -5,10 +5,7 @@
import org.hisp.dhis.dataelement.DataElement;
import org.hisp.dhis.dataelement.DataElementCategoryService;
import org.hisp.dhis.dataelement.DataElementService;
-import org.hisp.dhis.dataset.DataSet;
-import org.hisp.dhis.dataset.DataSetService;
import org.hisp.dhis.pbf.api.Lookup;
-import org.hisp.dhis.pbf.api.LookupService;
import com.opensymphony.xwork2.Action;
@@ -32,14 +29,15 @@
{
this.dataElementService = dataElementService;
}
-
+ /*
private LookupService lookupService;
public void setLookupService( LookupService lookupService )
{
this.lookupService = lookupService;
}
-
+ */
+
/* private CCEIAggregationService cceiAggregationService;
public void setCceiAggregationService( CCEIAggregationService cceiAggregationService )
@@ -53,42 +51,43 @@
{
this.dataElementCategoryService = dataElementCategoryService;
}
-
+
+ /*
private DataSetService dataSetService;
public void setDataSetService( DataSetService dataSetService )
{
this.dataSetService = dataSetService;
}
+ */
// -------------------------------------------------------------------------
// Input/ Output
// -------------------------------------------------------------------------
-
+/*
private String name;
- private String aggType;
-
- private Integer dataElementId;
-
-
- private Integer pbfDataSetId;
-
public void setName( String name )
{
this.name = name;
}
-
+*/
+ private String aggType;
+
public void setAggType( String aggType )
{
this.aggType = aggType;
}
+ private Integer dataElementId;
+
public void setDataElementId( Integer dataElementId )
{
this.dataElementId = dataElementId;
}
-
+
+ private Integer pbfDataSetId;
+
public void setPbfDataSetId( Integer pbfDataSetId )
{
this.pbfDataSetId = pbfDataSetId;
@@ -113,6 +112,7 @@
/**
* TODO support for category option combo
*/
+
if( aggType.equals( Lookup.PBF_AGG_TYPE_OVERALL_QUALITY_SCORE ) || aggType.equals( Lookup.PBF_AGG_TYPE_OVERALL_UNADJUSTED_PBF_AMOUNT ) )
{
String query = ""+pbfDataSetId;
=== modified file 'local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/AddAggregationQueryFormAction.java'
--- local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/AddAggregationQueryFormAction.java 2014-02-05 10:49:02 +0000
+++ local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/AddAggregationQueryFormAction.java 2014-03-14 11:22:16 +0000
@@ -1,11 +1,8 @@
package org.hisp.dhis.pbf.aggregation.action;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
-import java.util.Set;
-import org.hisp.dhis.attribute.AttributeValue;
import org.hisp.dhis.dataelement.DataElement;
import org.hisp.dhis.dataelement.DataElementService;
import org.hisp.dhis.pbf.api.Lookup;
=== added file 'local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/GetAggregationQueryAction.java'
--- local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/GetAggregationQueryAction.java 1970-01-01 00:00:00 +0000
+++ local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/GetAggregationQueryAction.java 2014-03-14 11:22:16 +0000
@@ -0,0 +1,64 @@
+package org.hisp.dhis.pbf.aggregation.action;
+
+import org.hisp.dhis.caseaggregation.CaseAggregationCondition;
+import org.hisp.dhis.caseaggregation.CaseAggregationConditionService;
+
+import com.opensymphony.xwork2.Action;
+
+/**
+ * @author Mithilesh Kumar Thakur
+ */
+public class GetAggregationQueryAction implements Action
+{
+ // -------------------------------------------------------------------------
+ // Dependency
+ // -------------------------------------------------------------------------
+
+ private CaseAggregationConditionService aggregationConditionService;
+
+ public void setAggregationConditionService( CaseAggregationConditionService aggregationConditionService )
+ {
+ this.aggregationConditionService = aggregationConditionService;
+ }
+
+ // -------------------------------------------------------------------------
+ // Input && Output Getters && Setters
+ // -------------------------------------------------------------------------
+
+ private Integer id;
+
+ public void setId( Integer id )
+ {
+ this.id = id;
+ }
+
+ private CaseAggregationCondition caseAggregation;
+
+ public String getDescription()
+ {
+ return description;
+ }
+
+ private String description;
+
+ public CaseAggregationCondition getCaseAggregation()
+ {
+ return caseAggregation;
+ }
+
+
+ // -------------------------------------------------------------------------
+ // Action implementation
+ // -------------------------------------------------------------------------
+
+ public String execute() throws Exception
+ {
+ caseAggregation = aggregationConditionService.getCaseAggregationCondition( id );
+
+ description = aggregationConditionService.getConditionDescription( caseAggregation.getAggregationExpression() );
+
+ return SUCCESS;
+ }
+}
+
+
=== added file 'local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/RemoveAggregationQueryAction.java'
--- local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/RemoveAggregationQueryAction.java 1970-01-01 00:00:00 +0000
+++ local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/RemoveAggregationQueryAction.java 2014-03-14 11:22:16 +0000
@@ -0,0 +1,51 @@
+package org.hisp.dhis.pbf.aggregation.action;
+
+import org.hisp.dhis.caseaggregation.CaseAggregationCondition;
+import org.hisp.dhis.caseaggregation.CaseAggregationConditionService;
+
+import com.opensymphony.xwork2.Action;
+
+/**
+ * @author Mithilesh Kumar Thakur
+ */
+public class RemoveAggregationQueryAction implements Action
+{
+ // -------------------------------------------------------------------------
+ // Dependency
+ // -------------------------------------------------------------------------
+
+ private CaseAggregationConditionService aggregationConditionService;
+
+ public void setAggregationConditionService( CaseAggregationConditionService aggregationConditionService )
+ {
+ this.aggregationConditionService = aggregationConditionService;
+ }
+
+ // -------------------------------------------------------------------------
+ // Input
+ // -------------------------------------------------------------------------
+
+ private int id;
+
+ // -------------------------------------------------------------------------
+ // Getters && Setters
+ // -------------------------------------------------------------------------
+
+ public void setId( int id )
+ {
+ this.id = id;
+ }
+
+ // -------------------------------------------------------------------------
+ // Action implementation
+ // -------------------------------------------------------------------------
+
+ public String execute() throws Exception
+ {
+ CaseAggregationCondition condition = aggregationConditionService.getCaseAggregationCondition( id );
+
+ aggregationConditionService.deleteCaseAggregationCondition( condition );
+
+ return SUCCESS;
+ }
+}
=== modified file 'local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/RunAggregationQueryAction.java'
--- local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/RunAggregationQueryAction.java 2014-02-05 10:49:02 +0000
+++ local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/RunAggregationQueryAction.java 2014-03-14 11:22:16 +0000
@@ -18,17 +18,13 @@
import org.hisp.dhis.dataset.DataSet;
import org.hisp.dhis.dataset.DataSetService;
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.oust.manager.SelectionTreeManager;
import org.hisp.dhis.pbf.api.Lookup;
import org.hisp.dhis.pbf.impl.DefaultPBFAggregationService;
-import org.hisp.dhis.period.MonthlyPeriodType;
import org.hisp.dhis.period.Period;
import org.hisp.dhis.period.PeriodService;
import org.hisp.dhis.period.PeriodType;
-import org.hisp.dhis.period.YearlyPeriodType;
import com.opensymphony.xwork2.Action;
@@ -52,14 +48,14 @@
{
this.organisationUnitService = organisationUnitService;
}
-
+ /*
private OrganisationUnitGroupService organisationUnitGroupService;
public void setOrganisationUnitGroupService( OrganisationUnitGroupService organisationUnitGroupService )
{
this.organisationUnitGroupService = organisationUnitGroupService;
}
-
+ */
private CaseAggregationConditionService aggregationConditionService;
public void setAggregationConditionService( CaseAggregationConditionService aggregationConditionService )
@@ -118,7 +114,16 @@
{
return importStatus;
}
-
+
+ private String selectedPeriodId;
+
+ public void setSelectedPeriodId( String selectedPeriodId )
+ {
+ this.selectedPeriodId = selectedPeriodId;
+ }
+
+ private Date aggregationPeriod;
+
// -------------------------------------------------------------------------
// Action
// -------------------------------------------------------------------------
@@ -128,8 +133,17 @@
{
Map<String, Double> aggregationResultMap = new HashMap<String, Double>();
- Set<OrganisationUnit> orgUnitList = new HashSet<OrganisationUnit>( selectionTreeManager.getReloadedSelectedOrganisationUnits() );
+ //Set<OrganisationUnit> orgUnitList = new HashSet<OrganisationUnit>( selectionTreeManager.getReloadedSelectedOrganisationUnits() );
+ Set<OrganisationUnit> tempOrgUnitList = new HashSet<OrganisationUnit>( selectionTreeManager.getReloadedSelectedOrganisationUnits() );
+
+ Set<OrganisationUnit> orgUnitList = new HashSet<OrganisationUnit>();
+
+ for ( OrganisationUnit org : tempOrgUnitList )
+ {
+ orgUnitList.addAll( organisationUnitService.getOrganisationUnitWithChildren( org.getId() ) ) ;
+ }
+
//Set<OrganisationUnitGroup> orgUnitGroups = new HashSet<OrganisationUnitGroup>( organisationUnitGroupService.getAllOrganisationUnitGroups() );
/*List<OrganisationUnitGroup> ouGroups = new ArrayList<OrganisationUnitGroup>( organisationUnitGroupService.getOrganisationUnitGroupByName( EquipmentAttributeValue.HEALTHFACILITY ) );
@@ -151,6 +165,22 @@
periods.add( period );
*/
+ Period period = new Period();
+
+ period = PeriodType.getPeriodFromIsoString( selectedPeriodId );
+
+ if( period != null )
+ {
+ aggregationPeriod = period.getStartDate();
+ }
+
+ else
+ {
+ aggregationPeriod = new Date();
+ }
+
+ //System.out.println( " Aggregation Period -- " + aggregationPeriod );
+
Constant tariff_authority = constantService.getConstantByName( "TARIFF_SETTING_AUTHORITY" );
int tariff_setting_authority = 0;
if ( tariff_authority == null )
@@ -179,7 +209,9 @@
List<Period> periods = new ArrayList<Period>();
- periods.add( getCurrentPeriod( dataSet.getPeriodType(), new Date() ) );
+ //periods.add( getCurrentPeriod( dataSet.getPeriodType(), new Date() ) );
+
+ periods.add( getCurrentPeriod( dataSet.getPeriodType(), aggregationPeriod ) );
aggregationResultMap.putAll( defaultPBFAggregationService.calculateOverallQualityScore( periods, dataElement, orgUnits, dataSetId, tariff_setting_authority ) );
}
@@ -195,7 +227,9 @@
List<Period> periods = new ArrayList<Period>();
- periods.add( getCurrentPeriod( dataSet.getPeriodType(), new Date() ) );
+ //periods.add( getCurrentPeriod( dataSet.getPeriodType(), new Date() ) );
+
+ periods.add( getCurrentPeriod( dataSet.getPeriodType(), aggregationPeriod ) );
aggregationResultMap.putAll( defaultPBFAggregationService.calculateOverallUnadjustedPBFAmount( periods, dataElement, orgUnits, dataSetId ) );
}
@@ -253,6 +287,8 @@
}
period = periodService.reloadPeriod( period );
+
+ //System.out.println( periodType.getName() + " -- " + period.getStartDateString() );
return period;
}
=== added file 'local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/RunAggregationQueryFormAction.java'
--- local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/RunAggregationQueryFormAction.java 1970-01-01 00:00:00 +0000
+++ local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/RunAggregationQueryFormAction.java 2014-03-14 11:22:16 +0000
@@ -0,0 +1,71 @@
+package org.hisp.dhis.pbf.aggregation.action;
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+
+import org.hisp.dhis.i18n.I18nFormat;
+import org.hisp.dhis.period.CalendarPeriodType;
+import org.hisp.dhis.period.MonthlyPeriodType;
+import org.hisp.dhis.period.Period;
+import org.hisp.dhis.period.PeriodType;
+import org.hisp.dhis.system.filter.PastAndCurrentPeriodFilter;
+import org.hisp.dhis.system.util.FilterUtils;
+
+import com.opensymphony.xwork2.Action;
+
+public class RunAggregationQueryFormAction implements Action
+{
+ // -------------------------------------------------------------------------
+ // Dependencies
+ // -------------------------------------------------------------------------
+
+ // -------------------------------------------------------------------------
+ // Input & Output
+ // -------------------------------------------------------------------------
+
+ private List<Period> periods = new ArrayList<Period>();
+
+ public Collection<Period> getPeriods()
+ {
+ return periods;
+ }
+
+ private I18nFormat format;
+
+ public void setFormat( I18nFormat format )
+ {
+ this.format = format;
+ }
+
+ // -------------------------------------------------------------------------
+ // Action
+ // -------------------------------------------------------------------------
+
+ public String execute() throws Exception
+ {
+ String periodTypeName = MonthlyPeriodType.NAME;
+
+ CalendarPeriodType _periodType = (CalendarPeriodType) CalendarPeriodType.getPeriodTypeByName( periodTypeName );
+
+ Calendar cal = PeriodType.createCalendarInstance();
+
+ periods = _periodType.generatePeriods( cal.getTime() );
+
+ //periods = new ArrayList<Period>( periodService.getPeriodsByPeriodType( periodType ) );
+
+ FilterUtils.filter( periods, new PastAndCurrentPeriodFilter() );
+
+ Collections.reverse( periods );
+ //Collections.sort( periods );
+ for ( Period period : periods )
+ {
+ period.setName( format.formatPeriod( period ) );
+ }
+
+ return SUCCESS;
+ }
+
+}
=== added file 'local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/ShowUpdateAggregationQueryFormAction.java'
--- local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/ShowUpdateAggregationQueryFormAction.java 1970-01-01 00:00:00 +0000
+++ local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/ShowUpdateAggregationQueryFormAction.java 2014-03-14 11:22:16 +0000
@@ -0,0 +1,105 @@
+package org.hisp.dhis.pbf.aggregation.action;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.hisp.dhis.caseaggregation.CaseAggregationCondition;
+import org.hisp.dhis.caseaggregation.CaseAggregationConditionService;
+import org.hisp.dhis.common.comparator.IdentifiableObjectNameComparator;
+import org.hisp.dhis.dataelement.DataElement;
+import org.hisp.dhis.dataelement.DataElementService;
+import org.hisp.dhis.pbf.api.Lookup;
+import org.hisp.dhis.pbf.api.LookupService;
+
+import com.opensymphony.xwork2.Action;
+
+/**
+ * @author Mithilesh Kumar Thakur
+ */
+public class ShowUpdateAggregationQueryFormAction implements Action
+{
+ // -------------------------------------------------------------------------
+ // Dependencies
+ // -------------------------------------------------------------------------
+
+ private CaseAggregationConditionService aggregationConditionService;
+
+ public void setAggregationConditionService( CaseAggregationConditionService aggregationConditionService )
+ {
+ this.aggregationConditionService = aggregationConditionService;
+ }
+
+ private LookupService lookupService;
+
+ public void setLookupService(LookupService lookupService)
+ {
+ this.lookupService = lookupService;
+ }
+
+ private DataElementService dataElementService;
+
+ public void setDataElementService(DataElementService dataElementService)
+ {
+ this.dataElementService = dataElementService;
+ }
+
+ // -------------------------------------------------------------------------
+ // Input/Output Getters && Setters
+ // -------------------------------------------------------------------------
+
+ private Integer id;
+
+ public void setId( Integer id )
+ {
+ this.id = id;
+ }
+
+ private CaseAggregationCondition aggregation;
+
+
+ public CaseAggregationCondition getAggregation()
+ {
+ return aggregation;
+ }
+
+ private String description;
+
+ public String getDescription()
+ {
+ return description;
+ }
+
+ private List<Lookup> lookups;
+
+ public List<Lookup> getLookups()
+ {
+ return lookups;
+ }
+
+ private List<DataElement> dataElementList;
+
+ public List<DataElement> getDataElementList()
+ {
+ return dataElementList;
+ }
+
+ // -------------------------------------------------------------------------
+ // Action implementation
+ // -------------------------------------------------------------------------
+
+ public String execute() throws Exception
+ {
+ lookups = new ArrayList<Lookup>( lookupService.getAllLookupsByType( Lookup.PBF_AGG_TYPE ) );
+ Collections.sort( lookups, IdentifiableObjectNameComparator.INSTANCE );
+
+ dataElementList = new ArrayList<DataElement>( dataElementService.getAllActiveDataElements() );
+ Collections.sort( dataElementList, IdentifiableObjectNameComparator.INSTANCE );
+
+ aggregation = aggregationConditionService.getCaseAggregationCondition( id );
+ description = aggregationConditionService.getConditionDescription( aggregation.getAggregationExpression() );
+
+ return SUCCESS;
+ }
+}
+
=== added file 'local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/UpdateAggregationQueryAction.java'
--- local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/UpdateAggregationQueryAction.java 1970-01-01 00:00:00 +0000
+++ local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/aggregation/action/UpdateAggregationQueryAction.java 2014-03-14 11:22:16 +0000
@@ -0,0 +1,125 @@
+package org.hisp.dhis.pbf.aggregation.action;
+
+import org.hisp.dhis.caseaggregation.CaseAggregationCondition;
+import org.hisp.dhis.caseaggregation.CaseAggregationConditionService;
+import org.hisp.dhis.dataelement.DataElement;
+import org.hisp.dhis.dataelement.DataElementCategoryService;
+import org.hisp.dhis.dataelement.DataElementService;
+import org.hisp.dhis.pbf.api.Lookup;
+
+import com.opensymphony.xwork2.Action;
+
+/**
+ * @author Mithilesh Kumar Thakur
+ */
+public class UpdateAggregationQueryAction implements Action
+{
+ // -------------------------------------------------------------------------
+ // Dependencies
+ // -------------------------------------------------------------------------
+
+ private CaseAggregationConditionService aggregationConditionService;
+
+ public void setAggregationConditionService( CaseAggregationConditionService aggregationConditionService )
+ {
+ this.aggregationConditionService = aggregationConditionService;
+ }
+
+ private DataElementService dataElementService;
+
+ public void setDataElementService( DataElementService dataElementService )
+ {
+ this.dataElementService = dataElementService;
+ }
+
+ private DataElementCategoryService dataElementCategoryService;
+
+ public void setDataElementCategoryService( DataElementCategoryService dataElementCategoryService )
+ {
+ this.dataElementCategoryService = dataElementCategoryService;
+ }
+
+
+ // -------------------------------------------------------------------------
+ // Input/ Output
+ // -------------------------------------------------------------------------
+
+ /*
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+ */
+
+ private Integer id;
+
+ public void setId( Integer id )
+ {
+ this.id = id;
+ }
+
+ private String aggType;
+
+ public void setAggType( String aggType )
+ {
+ this.aggType = aggType;
+ }
+
+ private Integer dataElementId;
+
+ public void setDataElementId( Integer dataElementId )
+ {
+ this.dataElementId = dataElementId;
+ }
+
+ private Integer pbfDataSetId;
+
+ public void setPbfDataSetId( Integer pbfDataSetId )
+ {
+ this.pbfDataSetId = pbfDataSetId;
+ }
+
+ // -------------------------------------------------------------------------
+ // Action implementation
+ // -------------------------------------------------------------------------
+
+ public String execute() throws Exception
+ {
+ DataElement dataElement = dataElementService.getDataElement( dataElementId );
+
+ /*
+ if( name == null && name.equalsIgnoreCase( "" ))
+ {
+ name = dataElement.getName();
+ }
+
+ */
+
+ /**
+ * TODO support for category option combo
+ */
+
+ CaseAggregationCondition expression = aggregationConditionService.getCaseAggregationCondition( id );
+
+ if( expression != null )
+ {
+ if( aggType.equals( Lookup.PBF_AGG_TYPE_OVERALL_QUALITY_SCORE ) || aggType.equals( Lookup.PBF_AGG_TYPE_OVERALL_UNADJUSTED_PBF_AMOUNT ) )
+ {
+ String query = ""+pbfDataSetId;
+
+ expression.setName( dataElement.getName() );
+ expression.setOperator( aggType );
+ expression.setAggregationExpression( query );
+ expression.setAggregationDataElement( dataElement );
+ expression.setOptionCombo( dataElementCategoryService.getDefaultDataElementCategoryOptionCombo() );
+
+ aggregationConditionService.updateCaseAggregationCondition( expression );
+
+ }
+ }
+
+ return SUCCESS;
+ }
+}
=== modified file 'local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/dataentry/LoadNextPrePeriodsAction.java'
--- local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/dataentry/LoadNextPrePeriodsAction.java 2013-12-31 07:59:05 +0000
+++ local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/dataentry/LoadNextPrePeriodsAction.java 2014-03-14 11:22:16 +0000
@@ -8,6 +8,7 @@
import org.hisp.dhis.dataset.DataSetService;
import org.hisp.dhis.i18n.I18nFormat;
import org.hisp.dhis.period.CalendarPeriodType;
+import org.hisp.dhis.period.MonthlyPeriodType;
import org.hisp.dhis.period.Period;
import org.hisp.dhis.period.PeriodType;
import org.hisp.dhis.system.filter.PastAndCurrentPeriodFilter;
@@ -70,6 +71,8 @@
return periods;
}
+ private String periodType;
+
// -------------------------------------------------------------------------
// Action implementation
// -------------------------------------------------------------------------
@@ -79,8 +82,15 @@
DataSet dataset = dataSetService.getDataSet( dataSetId );
- String periodType = dataset.getPeriodType().getName();
+ if( dataset != null )
+ {
+ periodType = dataset.getPeriodType().getName();
+ }
+ else
+ {
+ periodType = MonthlyPeriodType.NAME;
+ }
//periodType = periodType != null && !periodType.isEmpty() ? periodType : MonthlyPeriodType.NAME;
=== modified file 'local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/impl/DefaultPBFAggregationService.java'
--- local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/impl/DefaultPBFAggregationService.java 2014-02-05 10:49:02 +0000
+++ local/in/dhis-web-maintenance-pbf/src/main/java/org/hisp/dhis/pbf/impl/DefaultPBFAggregationService.java 2014-03-14 11:22:16 +0000
@@ -89,7 +89,7 @@
" dsm.datasetid = " + dataSetId +" " +
" GROUP BY os.organisationunitid, qmv.organisationunitid, qmv.startdate, qmv.enddate";
- System.out.println( query );
+ //System.out.println( query );
SqlRowSet rs = jdbcTemplate.queryForRowSet( query );
while ( rs.next() )
@@ -115,7 +115,7 @@
" dsm.datasetid = " + dataSetId +" " +
" GROUP BY dv.sourceid, dv.periodid";
- System.out.println( query );
+ //System.out.println( query );
SqlRowSet rs = jdbcTemplate.queryForRowSet( query );
while ( rs.next() )
@@ -158,18 +158,34 @@
" WHERE " +
" periodid IN ( "+ Lookup.PERIODID_BY_COMMA +" ) AND "+
" datasetid = "+ dataSetId + " AND " +
- " organisationunitid IN (" + Lookup.ORGUNITID_BY_COMMA + ") " +
+ " organisationunitid IN ( " + Lookup.ORGUNITID_BY_COMMA + " ) " +
" GROUP BY organisationunitid, periodid ";
-
- Collection<Integer> orgUnitIds = new ArrayList<Integer>( getIdentifiers( OrganisationUnit.class, orgUnits ) );
- String orgUnitIdsByComma = getCommaDelimitedString( orgUnitIds );
- query = query.replace( Lookup.ORGUNITID_BY_COMMA, orgUnitIdsByComma );
-
- Collection<Integer> periodIds = new ArrayList<Integer>( getIdentifiers( Period.class, periods ) );
- String periodsByComma = getCommaDelimitedString( periodIds );
- query = query.replace( Lookup.PERIODID_BY_COMMA, periodsByComma );
-
- //System.out.println( query );
+
+ //System.out.println( "Query Before Replace : --" + orgUnits.size() + " -- "+ query );
+
+ if( periods != null && periods.size() > 0 )
+ {
+ Collection<Integer> periodIds = new ArrayList<Integer>( getIdentifiers( Period.class, periods ) );
+ String periodsByComma = getCommaDelimitedString( periodIds );
+ query = query.replace( Lookup.PERIODID_BY_COMMA, periodsByComma );
+ }
+ else
+ {
+ query = query.replace( Lookup.PERIODID_BY_COMMA, "-1" );
+ }
+
+ if( orgUnits != null && orgUnits.size() > 0 )
+ {
+ Collection<Integer> orgUnitIds = new ArrayList<Integer>( getIdentifiers( OrganisationUnit.class, orgUnits ) );
+ String orgUnitIdsByComma = getCommaDelimitedString( orgUnitIds );
+ query = query.replace( Lookup.ORGUNITID_BY_COMMA, orgUnitIdsByComma );
+ }
+ else
+ {
+ query = query.replace( Lookup.ORGUNITID_BY_COMMA, "-1" );
+ }
+
+ //System.out.println( "Query After Replace : --" + query );
SqlRowSet rs = jdbcTemplate.queryForRowSet( query );
while ( rs.next() )
=== 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 2014-03-03 06:33:06 +0000
+++ local/in/dhis-web-maintenance-pbf/src/main/resources/META-INF/dhis/beans.xml 2014-03-14 11:22:16 +0000
@@ -265,7 +265,7 @@
<bean id="org.hisp.dhis.pbf.aggregation.action.AddAggregationQueryAction"
class="org.hisp.dhis.pbf.aggregation.action.AddAggregationQueryAction"
scope="prototype">
- <property name="lookupService" ref="org.hisp.dhis.pbf.api.LookupService" />
+ <!--<property name="lookupService" ref="org.hisp.dhis.pbf.api.LookupService" />-->
<property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
<property name="aggregationConditionService" ref="org.hisp.dhis.caseaggregation.CaseAggregationConditionService" />
<property name="dataElementCategoryService" ref="org.hisp.dhis.dataelement.DataElementCategoryService" />
@@ -278,12 +278,18 @@
<property name="dataSetService" ref="org.hisp.dhis.dataset.DataSetService" />
</bean>
+ <bean id="org.hisp.dhis.pbf.aggregation.action.RunAggregationQueryFormAction"
+ class="org.hisp.dhis.pbf.aggregation.action.RunAggregationQueryFormAction"
+ scope="prototype">
+ </bean>
+
+
<bean id="org.hisp.dhis.pbf.aggregation.action.RunAggregationQueryAction"
class="org.hisp.dhis.pbf.aggregation.action.RunAggregationQueryAction"
scope="prototype">
<property name="aggregationConditionService" ref="org.hisp.dhis.caseaggregation.CaseAggregationConditionService" />
<property name="organisationUnitService" ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
- <property name="organisationUnitGroupService" ref="org.hisp.dhis.organisationunit.OrganisationUnitGroupService" />
+ <!--<property name="organisationUnitGroupService" ref="org.hisp.dhis.organisationunit.OrganisationUnitGroupService" />-->
<property name="selectionTreeManager" ref="org.hisp.dhis.oust.manager.SelectionTreeManager" />
<property name="periodService" ref="org.hisp.dhis.period.PeriodService" />
<property name="dataSetService" ref="org.hisp.dhis.dataset.DataSetService" />
@@ -301,6 +307,47 @@
<property name="jdbcTemplate" ref="jdbcTemplate" />
</bean>
+ <!-- Show Update Aggregation Query Form -->
+ <bean id="org.hisp.dhis.pbf.aggregation.action.ShowUpdateAggregationQueryFormAction"
+ class="org.hisp.dhis.pbf.aggregation.action.ShowUpdateAggregationQueryFormAction"
+ scope="prototype">
+ <property name="aggregationConditionService" ref="org.hisp.dhis.caseaggregation.CaseAggregationConditionService" />
+ <property name="lookupService" ref="org.hisp.dhis.pbf.api.LookupService" />
+ <property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
+ </bean>
+
+ <!-- Update Aggregation Query -->
+ <bean id="org.hisp.dhis.pbf.aggregation.action.UpdateAggregationQueryAction"
+ class="org.hisp.dhis.pbf.aggregation.action.UpdateAggregationQueryAction"
+ scope="prototype">
+ <property name="aggregationConditionService" ref="org.hisp.dhis.caseaggregation.CaseAggregationConditionService" />
+ <property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
+ <property name="dataElementCategoryService" ref="org.hisp.dhis.dataelement.DataElementCategoryService" />
+ </bean>
+
+ <!-- Remove/Delete Aggregation -->
+ <bean id="org.hisp.dhis.pbf.aggregation.action.RemoveAggregationQueryAction"
+ class="org.hisp.dhis.pbf.aggregation.action.RemoveAggregationQueryAction"
+ scope="prototype">
+ <property name="aggregationConditionService" ref="org.hisp.dhis.caseaggregation.CaseAggregationConditionService" />
+ </bean>
+
+ <!-- Show/Get Aggregation Details -->
+ <bean id="org.hisp.dhis.pbf.aggregation.action.GetAggregationQueryAction"
+ class="org.hisp.dhis.pbf.aggregation.action.GetAggregationQueryAction"
+ scope="prototype">
+ <property name="aggregationConditionService" ref="org.hisp.dhis.caseaggregation.CaseAggregationConditionService" />
+ </bean>
+
+
+
+
+
+
+
+
+
+
<!-- Get All Lookups -->
<bean id="org.hisp.dhis.pbf.lookup.action.GetAllLookupsAction"
=== 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 2014-01-22 11:29:04 +0000
+++ local/in/dhis-web-maintenance-pbf/src/main/resources/org/hisp/dhis/pbf/i18n_module.properties 2014-03-14 11:22:16 +0000
@@ -25,4 +25,22 @@
quality_score_entry = Quality Score Entry
quality_score = Score
quality_max = Max
-quality_percentage = Percentage
\ No newline at end of file
+quality_percentage = Percentage
+
+
+
+aggregation_builder = Aggregation Builder
+aggregation_query_list = Aggregation Query List
+manual_aggregation = Manual Aggregation
+aggregation_query_builder_detail = Aggregation Query Builder Detail
+pbf_aggregation_query_builder_management = PBF Aggregation Query Builder Management
+manual_aggregation = Manual Aggregation
+aggregate_values = Aggregate Values
+
+confirm_delete_aggregation_query = Are you sure you want to delete this Aggregation Query?
+name = Name
+aggregation_data_element=Aggregation data element
+aggregation_expression=Aggregation expression
+operator=Operator
+
+update_aggregation_query_builder_detail = Update Aggregation Query Builder Detail
\ 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 2014-03-03 06:33:06 +0000
+++ local/in/dhis-web-maintenance-pbf/src/main/resources/struts.xml 2014-03-14 11:22:16 +0000
@@ -196,10 +196,11 @@
<result name="success" type="redirect">aggregationQueryList.action</result>
</action>
- <action name="runAggregationQueryForm" class="org.hisp.dhis.pbf.action.NoAction">
+ <action name="runAggregationQueryForm" class="org.hisp.dhis.pbf.aggregation.action.RunAggregationQueryFormAction">
<result name="success" type="velocity">/main.vm</result>
<param name="page">/dhis-web-maintenance-pbf/runAggregationQueryForm.vm</param>
<param name="menu">/dhis-web-maintenance-pbf/menu.vm</param>
+ <param name="javascripts">javascript/prevNextPeriods.js</param>
</action>
<action name="runAggregationQuery" class="org.hisp.dhis.pbf.aggregation.action.RunAggregationQueryAction">
@@ -208,6 +209,32 @@
<param name="menu">/dhis-web-maintenance-pbf/menu.vm</param>
</action>
+
+ <!-- Show Update Aggregation Query Form -->
+ <action name="showUpdateAggregationForm" class="org.hisp.dhis.pbf.aggregation.action.ShowUpdateAggregationQueryFormAction">
+ <result name="success" type="velocity">/main.vm</result>
+ <param name="page">/dhis-web-maintenance-pbf/updateAggregationQueryForm.vm</param>
+ <param name="menu">/dhis-web-maintenance-pbf/menu.vm</param>
+ <param name="javascripts">javascript/aggregationEngine.js</param>
+ </action>
+
+
+ <!-- Update Aggregation Query -->
+ <action name="updateAggregationQuery" class="org.hisp.dhis.pbf.aggregation.action.UpdateAggregationQueryAction">
+ <result name="success" type="redirect">aggregationQueryList.action</result>
+ </action>
+
+ <!-- Remove/Delete Aggregation -->
+ <action name="removeAggregation" class="org.hisp.dhis.pbf.aggregation.action.RemoveAggregationQueryAction">
+ <result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm</result>
+ </action>
+
+ <!-- Get Details Aggregation -->
+ <action name="getAggregation" class="org.hisp.dhis.pbf.aggregation.action.GetAggregationQueryAction">
+ <result name="success" type="velocity-json">/dhis-web-maintenance-pbf/jsonAggregationQuery.vm</result>
+ <param name="onExceptionReturn">plainTextError</param>
+ </action>
+
<!-- Lookup -->
<!-- Get All Lookups -->
=== modified file 'local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/addAggregationQuery.vm'
--- local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/addAggregationQuery.vm 2014-02-05 10:49:02 +0000
+++ local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/addAggregationQuery.vm 2014-03-14 11:22:16 +0000
@@ -11,25 +11,60 @@
});
}
}
-</script>
-<form id="addAggregationForm" action="addAggregationQuery.action" method="post" >
-
-<table style="width:50%" cellpadding="5" cellspacing="5">
+
+
+function formValidations()
+{
+ //alert("validation");
+
+ var aggTypeList = document.getElementById("aggType");
+ var aggTypeIndex = aggTypeList.selectedIndex;
+
+ var dataElementList = document.getElementById("dataElementId");
+ var dataElementIndex = dataElementList.selectedIndex;
+
+ if( dataElementList.options[dataElementIndex].value == null || dataElementList.options[dataElementIndex].value== "-1" )
+ {
+ showWarningMessage( "Please Select Data Element" );
+
+ return false;
+ }
+
+ else if( aggTypeList.options[aggTypeIndex].value == null || aggTypeList.options[aggTypeIndex].value== "-1" )
+ {
+ showWarningMessage( "Please Select Aggregation Type" );
+
+ return false;
+ }
+
+ return true;
+}
+
+</script>
+
+<h3>$i18n.getString( 'aggregation_query_builder_detail' )</h3>
+
+<form id="addAggregationForm" action="addAggregationQuery.action" method="post" onsubmit="return formValidations()">
+
+<table style="width:70%" cellpadding="5" cellspacing="5">
+
+ <!--
<thead>
<tr>
<th colspan="2">$i18n.getString( "aggregation_query_builder_detail" )</th>
</tr>
</thead>
-
+ -->
<tbody>
<tr style="display:none">
<td style="width:40%"><label>$i18n.getString( "name" ) <em title="$i18n.getString( 'required' )" class="required">*</em></label></td>
<td style="width:60%"><input type="text" id="name" name="name" class="{validate:{required:true,minlength:2}}" style='width:100%; margin-bottom:-5px;'></td>
</tr>
<tr>
- <td style="width:40%"><label for="dataElement">$i18n.getString( "dataelement" )<em title="$i18n.getString( 'required' )" class="required">*</em></label></td>
+ <td style="width:40%"><label for="dataElement"> $i18n.getString( "dataelement" )<em title="$i18n.getString( 'required' )" class="required">*</em></label></td>
<td style="width:60%">
- <select style='width:130%; margin-bottom:-5px;' id="dataElementId" name="dataElementId" >
+ <select style='width:97%; margin-bottom:-5px;' id="dataElementId" name="dataElementId" >
+ <option value="-1" >Please Select</option>
#foreach( $dataElement in $dataElementList )
<option value="$dataElement.id">$dataElement.name</option>
#end
@@ -37,9 +72,9 @@
</td>
</tr>
<tr>
- <td style="width:40%"><label for="operator">$i18n.getString( "type" )</label></td>
+ <td style="width:40%"><label for="operator"> $i18n.getString( "type" )</label></td>
<td style="width:60%">
- <select style='width:130%; margin-bottom:-5px;' id="aggType" name="aggType" onchange="getParameters()">
+ <select style='width:97%; margin-bottom:-5px;' id="aggType" name="aggType" onchange="getParameters()">
<option value="-1" >Please Select</option>
#foreach( $lookup in $lookups )
<option value="$lookup.name">$lookup.value</option>
=== modified file 'local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/aggregationQueryList.vm'
--- local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/aggregationQueryList.vm 2014-02-05 10:49:02 +0000
+++ local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/aggregationQueryList.vm 2014-03-14 11:22:16 +0000
@@ -8,26 +8,31 @@
});
</script>
-<h3>$i18n.getString( 'ccei_aggregation_query_builder_management' ) #openHelp( "patient_aggregation_query_builder" )</h3>
+<h3>$i18n.getString( 'pbf_aggregation_query_builder_management' ) #openHelp( "patient_aggregation_query_builder" )</h3>
<div id="contextMenu" class="contextMenu">
<ul id="contextMenuItems" class="contextMenuItems">
- <li><a data-target-fn="showUpdateCaseAggregationForm"><i class="fa fa-edit"></i> $i18n.getString( "edit" )</a></li>
+ <li><a data-target-fn="showUpdateAggregationForm"><i class="fa fa-edit"></i> $i18n.getString( "edit" )</a></li>
<li><a data-target-fn="translateWithContext"><i class="fa fa-globe"></i> $i18n.getString( "translation_translate" )</a></li>
- <li><a data-target-fn="removeCaseAggregation"><i class="fa fa-trash-o"></i> $i18n.getString( "remove" )</a></li>
- <li><a data-target-fn="showCaseAggregationDetails"><i class="fa fa-info-circle"></i> $i18n.getString( "show_details" )</a></li>
+ <li><a data-target-fn="removeAggregation"><i class="fa fa-trash-o"></i> $i18n.getString( "remove" )</a></li>
+ <li><a data-target-fn="showAggregationDetails"><i class="fa fa-info-circle"></i> $i18n.getString( "show_details" )</a></li>
</ul>
</div>
+
<table class="mainPageTable">
<tr>
<td style="vertical-align:top">
<table width="100%">
<tr>
- <td style="text-align:right">
+ <td>$i18n.getString( "filter_by_name" ) <input type="text" onkeyup="filterValues( this.value , 1)" /></td>
+
+ <td style="text-align:right">
<input type="button" value="$i18n.getString( 'add_new' )" onclick="showAddAggregationForm();" >
</td>
</tr>
+
+
</table>
<table class="listTable">
<col>
@@ -56,12 +61,19 @@
<a href="javascript:hideDetails()" title="$i18n.getString( "hide_details" )"><img src="../images/close.png" alt="$i18n.getString( 'hide_details' )"></a>
</div>
<p><label class="bold">$i18n.getString( "name" ):</label><br><span id="nameField"></span></p>
+ <p><label class="bold">$i18n.getString( "aggregation_data_element" ):</label><br><span id="aggregationDataElementField"></span></p>
<p><label class="bold">$i18n.getString( "operator" ):</label><br><span id="operatorField"></span></p>
- <p><label class="bold">$i18n.getString( "aggregation_data_element" ):</label><br><span id="aggregationDataElementField"></span></p>
- <p><label class="bold">$i18n.getString( "option_combo" ):</label><br><span id="optionComboField"></span></p>
+
+ <!--
+ <p><label class="bold">$i18n.getString( "option_combo" ):</label><br><span id="optionComboField"></span></p>
<p><label class="bold">$i18n.getString( "data_element_for_sum_avg_min_max" ):</label><br><span id="deSumField"></span></p>
<p><label class="bold">$i18n.getString( "aggregation_expression" ):</label><br><span id="aggregationExpressionField"></span></p>
+ -->
</div>
</td>
</tr>
</table>
+
+<script type="text/javascript">
+ var i18n_confirm_delete_aggregation_query = '$encoder.jsEscape( $i18n.getString( "confirm_delete_aggregation_query" ) , "'" )';
+</script>
\ No newline at end of file
=== modified file 'local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/javascript/aggregationEngine.js'
--- local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/javascript/aggregationEngine.js 2014-02-05 10:49:02 +0000
+++ local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/javascript/aggregationEngine.js 2014-03-14 11:22:16 +0000
@@ -1,7 +1,46 @@
-
+//-----------------------------------------------------------------------------
+//Add Aggregation Query Form
+//-----------------------------------------------------------------------------
function showAddAggregationForm()
{
window.location.href = 'addAggregationQueryForm.action';
}
+
+//-----------------------------------------------------------------------------
+//Update Aggregation Query Form
+//-----------------------------------------------------------------------------
+
+function showUpdateAggregationForm( context )
+{
+ location.href = 'showUpdateAggregationForm.action?id=' + context.id;
+}
+
+//-----------------------------------------------------------------------------
+//Remove Aggregation
+//-----------------------------------------------------------------------------
+
+function removeAggregation( context )
+{
+ removeItem( context.id, context.name, i18n_confirm_delete_aggregation_query, 'removeAggregation.action');
+}
+
+
+//-----------------------------------------------------------------------------
+//View Aggregation Query details
+//-----------------------------------------------------------------------------
+
+function showAggregationDetails( context )
+{
+ jQuery.getJSON('getAggregation.action', { id: context.id }, function( json )
+ {
+ setInnerHTML('nameField', json.caseAggregation.name);
+ setInnerHTML('aggregationDataElementField', json.caseAggregation.aggregationDataElement);
+ setInnerHTML('operatorField', json.caseAggregation.operator);
+ //setInnerHTML('optionComboField', json.caseAggregation.optionCombo);
+ //setInnerHTML('aggregationExpressionField', json.caseAggregation.aggregationExpression);
+ //setInnerHTML('deSumField', json.caseAggregation.deSum);
+ showDetails();
+ });
+}
\ No newline at end of file
=== added file 'local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/javascript/prevNextPeriods.js'
--- local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/javascript/prevNextPeriods.js 1970-01-01 00:00:00 +0000
+++ local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/javascript/prevNextPeriods.js 2014-03-14 11:22:16 +0000
@@ -0,0 +1,22 @@
+
+
+//next and pre periods
+function getAvailablePeriodsTemp( availablePeriodsId, selectedPeriodsId, year )
+{
+ var availableList = document.getElementById( availablePeriodsId );
+ var selectedList = document.getElementById( selectedPeriodsId );
+
+ clearList( selectedList );
+
+ addOptionToList( selectedList, '-1', '[ Select ]' );
+
+ $.getJSON( "getAvailableNextPrePeriods.action", {
+ "year": year },
+ function( json ) {
+
+ for ( i in json.periods ) {
+ addOptionToList( selectedList, json.periods[i].isoDate, json.periods[i].name );
+ }
+
+ } );
+}
\ No newline at end of file
=== added file 'local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/jsonAggregationQuery.vm'
--- local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/jsonAggregationQuery.vm 1970-01-01 00:00:00 +0000
+++ local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/jsonAggregationQuery.vm 2014-03-14 11:22:16 +0000
@@ -0,0 +1,8 @@
+{ "caseAggregation":
+ {
+ "id": "${caseAggregation.id}",
+ "name": "$!encoder.jsonEncode( ${caseAggregation.name} )",
+ "aggregationDataElement": "$!encoder.jsonEncode( ${caseAggregation.aggregationDataElement.name} )",
+ "operator": "${caseAggregation.operator}"
+ }
+}
\ No newline at end of file
=== modified file 'local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/runAggregationQueryForm.vm'
--- local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/runAggregationQueryForm.vm 2014-02-05 10:49:02 +0000
+++ local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/runAggregationQueryForm.vm 2014-03-14 11:22:16 +0000
@@ -1,7 +1,54 @@
+
+<script type="text/javascript">
+
+function formValidations()
+{
+ //alert("validation");
+
+ var startPeriodList = document.getElementById("selectedPeriodId");
+ var startPeriodIndex = startPeriodList.selectedIndex;
+
+ if( startPeriodList.options[startPeriodIndex].value == null || startPeriodList.options[startPeriodIndex].value== "-1" )
+ {
+ showWarningMessage( "Please Select Period" );
+ //alert("Please Select Period");
+ return false;
+ }
+
+ return true;
+}
+
+</script>
+
+
<h3>$i18n.getString( "manual_aggregation" )</h3>
-<form id="runAggregationQueryForm" action="runAggregationQuery.action" method="post">
+<form id="runAggregationQueryForm" action="runAggregationQuery.action" method="post" onsubmit="return formValidations()" >
+<table>
+ <tr>
+ <td><label for="selectedPeriodId">$i18n.getString( "period" )</label></td>
+ <td><select id="selectedPeriodId" name="selectedPeriodId" style="width:220px" >
+ <option value="-1">[$i18n.getString( "select" )]</option>
+ #foreach( $period in $periods )
+ <option value="$period.isoDate">$encoder.htmlEncode( $period.name )</option>
+ #end
+ </select>
+ <input type="button" id="prevButton" style="width:75px" value="$i18n.getString( 'prev_year' )" title="$i18n.getString('earlier_periods')" onclick="getAvailablePeriodsTemp( 'selectedPeriodId', 'selectedPeriodId', '-1' )" >
+ <input type="button" id="nextButton" style="width:75px" value="$i18n.getString( 'next_year' )" title="$i18n.getString('later_periods')" onclick="getAvailablePeriodsTemp( 'selectedPeriodId', 'selectedPeriodId', '1' )" >
+ </td>
+ </tr>
+</table>
+
+
+
+
+
+
+
+
+
+
<table id="selectionTable">
<tr>
<td>
=== added file 'local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/updateAggregationQueryForm.vm'
--- local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/updateAggregationQueryForm.vm 1970-01-01 00:00:00 +0000
+++ local/in/dhis-web-maintenance-pbf/src/main/webapp/dhis-web-maintenance-pbf/updateAggregationQueryForm.vm 2014-03-14 11:22:16 +0000
@@ -0,0 +1,123 @@
+
+<script type="text/javascript">
+
+jQuery(window).load(function()
+{
+ getParameters();
+});
+
+
+function getParameters()
+{
+ if($("#aggType").val() != '-1')
+ {
+ $("#loadParameters").load("loadAggregationParam.action",
+ {
+ aggTypeId : $('#aggType').val()
+ }
+ , function( ){
+ });
+ }
+}
+
+function formValidations()
+{
+ //alert("validation");
+
+ var aggTypeList = document.getElementById("aggType");
+ var aggTypeIndex = aggTypeList.selectedIndex;
+
+ var dataElementList = document.getElementById("dataElementId");
+ var dataElementIndex = dataElementList.selectedIndex;
+
+ if( dataElementList.options[dataElementIndex].value == null || dataElementList.options[dataElementIndex].value== "-1" )
+ {
+ showWarningMessage( "Please Select Data Element" );
+
+ return false;
+ }
+
+ else if( aggTypeList.options[aggTypeIndex].value == null || aggTypeList.options[aggTypeIndex].value== "-1" )
+ {
+ showWarningMessage( "Please Select Aggregation Type" );
+
+ return false;
+ }
+
+ /*
+ if( bValue == false )
+ {
+ showWarningMessage( "Please Select Parameter" );
+
+ return false;
+ }
+ */
+
+ /*
+ var select = $("select").val();
+ alert(select);
+ */
+
+ return true;
+}
+
+</script>
+
+<h3>$i18n.getString( 'update_aggregation_query_builder_detail' )</h3>
+
+<form id="updateAggregationQueryForm" name="updateAggregationQueryForm" action="updateAggregationQuery.action" method="post" onsubmit="return formValidations()">
+
+<table style="width:70%" cellpadding="5" cellspacing="5">
+
+ <!--
+ <thead>
+ <tr>
+ <th colspan="2">$i18n.getString( "update_aggregation_query_builder_detail" )</th>
+ </tr>
+ </thead>
+ -->
+ <tbody>
+ <tr style="display:none">
+ <input type='hidden' id='id' name='id' value='$aggregation.id'>
+ <td style="width:40%"><label>$i18n.getString( "name" ) <em title="$i18n.getString( 'required' )" class="required">*</em></label></td>
+ <td style="width:60%"><input type="text" id="name" name="name" value="$aggregation.name" class="{validate:{required:true,minlength:2}}" style='width:130%; margin-bottom:-5px;' readonly="readonly"></td>
+ </tr>
+ <tr>
+ <td style="width:40%"><label for="dataElement"> $i18n.getString( "dataelement" )<em title="$i18n.getString( 'required' )" class="required">*</em></label></td>
+ <td style="width:60%">
+ <select style='width:97%; margin-bottom:-5px;' id="dataElementId" name="dataElementId" >
+ <option value="-1" >Please Select</option>
+ #foreach( $dataElement in $dataElementList )
+ <option value="$dataElement.id" #if( $aggregation.getAggregationDataElement().getId() == "$dataElement.id") selected #end >$dataElement.name</option>
+ #end
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td style="width:40%"><label for="operator"> $i18n.getString( "type" )</label></td>
+ <td style="width:60%">
+ <select style='width:97%; margin-bottom:-5px;' id="aggType" name="aggType" onchange="getParameters()">
+ <option value="-1" >Please Select</option>
+ #foreach( $lookup in $lookups )
+ <option value="$lookup.name" #if( $aggregation.getOperator() == "$lookup.name") selected #end >$lookup.value</option>
+ #end
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="2">
+ <div id="loadParameters" style="width:100%"></div>
+ </td>
+ </tr>
+
+ </tbody>
+</table>
+
+<p>
+ <input type="submit" value="$i18n.getString( 'update' )" />
+ <input type="button" value="$i18n.getString( 'cancel' )" onclick="window.location.href='aggregationQueryList.action'" />
+</p>
+
+</form>