=== added file 'local/in/dhis-web-maintenance-rbf/src/main/java/org/hisp/dhis/rbf/api/Partner.java' --- local/in/dhis-web-maintenance-rbf/src/main/java/org/hisp/dhis/rbf/api/Partner.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-maintenance-rbf/src/main/java/org/hisp/dhis/rbf/api/Partner.java 2014-11-14 10:23:57 +0000 @@ -0,0 +1,190 @@ +package org.hisp.dhis.rbf.api; + +import java.io.Serializable; +import java.util.Date; + +import org.hisp.dhis.dataelement.DataElement; +import org.hisp.dhis.dataset.DataSet; +import org.hisp.dhis.option.Option; +import org.hisp.dhis.organisationunit.OrganisationUnit; + +/** + * @author Mithilesh Kumar Thakur + */ +public class Partner implements Serializable +{ + + /** + * + */ + private static final long serialVersionUID = 1L; + + private OrganisationUnit organisationUnit; + + private DataSet dataSet; + + private DataElement dataElement; + + private Date startDate; + + private Date endDate; + + // for Partner value + private Option option; + + private String storedBy; + + private Date timestamp; + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + public Partner() + { + + } + + public Partner( OrganisationUnit organisationUnit, DataSet dataSet, DataElement dataElement, Date startDate, Date endDate ) + { + this.organisationUnit = organisationUnit; + this.dataSet = dataSet; + this.dataElement = dataElement; + this.startDate = startDate; + this.endDate = endDate; + } + + public Partner( OrganisationUnit organisationUnit, DataSet dataSet, DataElement dataElement, Date startDate, Date endDate, Option option ) + { + this.organisationUnit = organisationUnit; + this.dataSet = dataSet; + this.dataElement = dataElement; + this.startDate = startDate; + this.endDate = endDate; + this.option = option; + } + + // ------------------------------------------------------------------------- + // hashCode and equals + // ------------------------------------------------------------------------- + + @Override + public boolean equals( Object o ) + { + if ( this == o ) + { + return true; + } + + if ( o == null ) + { + return false; + } + + if ( !(o instanceof Partner) ) + { + return false; + } + + final Partner other = (Partner) o; + + return organisationUnit.equals( other.getOrganisationUnit() ) && dataSet.equals( other.getDataSet() ) && dataElement.equals( other.getDataElement() ); + + } + + @Override + public int hashCode() + { + final int prime = 31; + int result = 1; + + result = result * prime + organisationUnit.hashCode(); + result = result * prime + dataSet.hashCode(); + result = result * prime + dataElement.hashCode(); + + return result; + } + + // ------------------------------------------------------------------------- + // Getters and setters + // ------------------------------------------------------------------------- + + public OrganisationUnit getOrganisationUnit() + { + return organisationUnit; + } + + public void setOrganisationUnit( OrganisationUnit organisationUnit ) + { + this.organisationUnit = organisationUnit; + } + + public DataSet getDataSet() + { + return dataSet; + } + + public void setDataSet( DataSet dataSet ) + { + this.dataSet = dataSet; + } + + public DataElement getDataElement() + { + return dataElement; + } + + public void setDataElement( DataElement dataElement ) + { + this.dataElement = dataElement; + } + + public Date getStartDate() + { + return startDate; + } + + public void setStartDate( Date startDate ) + { + this.startDate = startDate; + } + + public Date getEndDate() + { + return endDate; + } + + public void setEndDate( Date endDate ) + { + this.endDate = endDate; + } + + public Option getOption() + { + return option; + } + + public void setOption( Option option ) + { + this.option = option; + } + + public String getStoredBy() + { + return storedBy; + } + + public void setStoredBy( String storedBy ) + { + this.storedBy = storedBy; + } + + public Date getTimestamp() + { + return timestamp; + } + + public void setTimestamp( Date timestamp ) + { + this.timestamp = timestamp; + } +} === added file 'local/in/dhis-web-maintenance-rbf/src/main/java/org/hisp/dhis/rbf/api/PartnerService.java' --- local/in/dhis-web-maintenance-rbf/src/main/java/org/hisp/dhis/rbf/api/PartnerService.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-maintenance-rbf/src/main/java/org/hisp/dhis/rbf/api/PartnerService.java 2014-11-14 10:23:57 +0000 @@ -0,0 +1,34 @@ +package org.hisp.dhis.rbf.api; + +import java.util.Collection; +import java.util.Date; +import java.util.Map; + +import org.hisp.dhis.dataelement.DataElement; +import org.hisp.dhis.dataset.DataSet; +import org.hisp.dhis.organisationunit.OrganisationUnit; + +/** + * @author Mithilesh Kumar Thakur + */ +public interface PartnerService +{ + String ID = PartnerService.class.getName(); + + void addPartner( Partner partner ); + + void updatePartner( Partner partner ); + + void deletePartner( Partner partner ); + + Partner getPartner( OrganisationUnit organisationUnit, DataSet dataSet, DataElement dataElement, Date startDate, Date endDate ); + + Collection getAllPartner(); + + Collection getPartner( OrganisationUnit organisationUnit, DataSet dataSet ); + + Collection getPartner( OrganisationUnit organisationUnit, DataElement dataElement ); + + Map getOrgUnitCountFromPartner( Integer organisationUnitId, Integer dataSetId, Integer dataElementId, Integer optionId, String startDate, String endDate ); + +} === added file 'local/in/dhis-web-maintenance-rbf/src/main/java/org/hisp/dhis/rbf/api/PartnerStore.java' --- local/in/dhis-web-maintenance-rbf/src/main/java/org/hisp/dhis/rbf/api/PartnerStore.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-maintenance-rbf/src/main/java/org/hisp/dhis/rbf/api/PartnerStore.java 2014-11-14 10:23:57 +0000 @@ -0,0 +1,34 @@ +package org.hisp.dhis.rbf.api; + +import java.util.Collection; +import java.util.Date; +import java.util.Map; + +import org.hisp.dhis.dataelement.DataElement; +import org.hisp.dhis.dataset.DataSet; +import org.hisp.dhis.organisationunit.OrganisationUnit; + +/** + * @author Mithilesh Kumar Thakur + */ +public interface PartnerStore +{ + String ID = PartnerStore.class.getName(); + + void addPartner( Partner partner ); + + void updatePartner( Partner partner ); + + void deletePartner( Partner partner ); + + Partner getPartner( OrganisationUnit organisationUnit, DataSet dataSet, DataElement dataElement, Date startDate, Date endDate ); + + Collection getAllPartner(); + + Collection getPartner( OrganisationUnit organisationUnit, DataSet dataSet ); + + Collection getPartner( OrganisationUnit organisationUnit, DataElement dataElement ); + + Map getOrgUnitCountFromPartner( Integer organisationUnitId, Integer dataSetId, Integer dataElementId, Integer optionId, String startDate, String endDate ); + +} === added file 'local/in/dhis-web-maintenance-rbf/src/main/java/org/hisp/dhis/rbf/impl/DefaultPartnerService.java' --- local/in/dhis-web-maintenance-rbf/src/main/java/org/hisp/dhis/rbf/impl/DefaultPartnerService.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-maintenance-rbf/src/main/java/org/hisp/dhis/rbf/impl/DefaultPartnerService.java 2014-11-14 10:23:57 +0000 @@ -0,0 +1,82 @@ +package org.hisp.dhis.rbf.impl; + +import java.util.Collection; +import java.util.Date; +import java.util.Map; + +import org.hisp.dhis.dataelement.DataElement; +import org.hisp.dhis.dataset.DataSet; +import org.hisp.dhis.organisationunit.OrganisationUnit; +import org.hisp.dhis.rbf.api.Partner; +import org.hisp.dhis.rbf.api.PartnerService; +import org.hisp.dhis.rbf.api.PartnerStore; + +/** + * @author Mithilesh Kumar Thakur + */ +public class DefaultPartnerService implements PartnerService +{ + // ------------------------------------------------------------------------- + // Dependencies + // ------------------------------------------------------------------------- + + private PartnerStore partnerStore; + + public void setPartnerStore( PartnerStore partnerStore ) + { + this.partnerStore = partnerStore; + } + + + // ------------------------------------------------------------------------- + // Partner + // ------------------------------------------------------------------------- + + @Override + public void addPartner( Partner partner ) + { + partnerStore.addPartner( partner );; + } + + @Override + public void updatePartner( Partner partner ) + { + partnerStore.updatePartner( partner ); + } + + @Override + public void deletePartner( Partner partner ) + { + partnerStore.deletePartner( partner ); + } + + @Override + public Partner getPartner( OrganisationUnit organisationUnit, DataSet dataSet, DataElement dataElement, Date startDate, Date endDate ) + { + return partnerStore.getPartner( organisationUnit, dataSet, dataElement, startDate, endDate ); + } + + @Override + public Collection getAllPartner() + { + return partnerStore.getAllPartner(); + } + + @Override + public Collection getPartner( OrganisationUnit organisationUnit, DataSet dataSet ) + { + return partnerStore.getPartner( organisationUnit, dataSet ); + } + + @Override + public Collection getPartner( OrganisationUnit organisationUnit, DataElement dataElement ) + { + return partnerStore.getPartner( organisationUnit, dataElement ); + } + + public Map getOrgUnitCountFromPartner( Integer organisationUnitId, Integer dataSetId, Integer dataElementId, Integer optionId, String startDate, String endDate ) + { + return partnerStore.getOrgUnitCountFromPartner( organisationUnitId, dataSetId, dataElementId, optionId, startDate, endDate ); + } + +} === added file 'local/in/dhis-web-maintenance-rbf/src/main/java/org/hisp/dhis/rbf/impl/HibernatePartnerStore.java' --- local/in/dhis-web-maintenance-rbf/src/main/java/org/hisp/dhis/rbf/impl/HibernatePartnerStore.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-maintenance-rbf/src/main/java/org/hisp/dhis/rbf/impl/HibernatePartnerStore.java 2014-11-14 10:23:57 +0000 @@ -0,0 +1,173 @@ +package org.hisp.dhis.rbf.impl; + +import java.text.SimpleDateFormat; +import java.util.Collection; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +import org.hibernate.Criteria; +import org.hibernate.Session; +import org.hibernate.SessionFactory; +import org.hibernate.criterion.Order; +import org.hibernate.criterion.Restrictions; +import org.hisp.dhis.dataelement.DataElement; +import org.hisp.dhis.dataset.DataSet; +import org.hisp.dhis.organisationunit.OrganisationUnit; +import org.hisp.dhis.rbf.api.Partner; +import org.hisp.dhis.rbf.api.PartnerStore; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.support.rowset.SqlRowSet; + +/** + * @author Mithilesh Kumar Thakur + */ +public class HibernatePartnerStore implements PartnerStore +{ + + // ------------------------------------------------------------------------- + // Dependencies + // ------------------------------------------------------------------------- + + private SessionFactory sessionFactory; + + public void setSessionFactory( SessionFactory sessionFactory ) + { + this.sessionFactory = sessionFactory; + } + + private JdbcTemplate jdbcTemplate; + + public void setJdbcTemplate( JdbcTemplate jdbcTemplate ) + { + this.jdbcTemplate = jdbcTemplate; + } + + // ------------------------------------------------------------------------- + // Partner + // ------------------------------------------------------------------------- + + @Override + public void addPartner( Partner partner ) + { + Session session = sessionFactory.getCurrentSession(); + + session.save( partner ); + } + + @Override + public void updatePartner( Partner partner ) + { + Session session = sessionFactory.getCurrentSession(); + + session.update( partner ); + } + + @Override + public void deletePartner( Partner partner ) + { + Session session = sessionFactory.getCurrentSession(); + + session.delete( partner ); + } + + @Override + public Partner getPartner( OrganisationUnit organisationUnit, DataSet dataSet, DataElement dataElement, Date startDate, Date endDate ) + { + Session session = sessionFactory.getCurrentSession(); + + Criteria criteria = session.createCriteria( Partner.class ); + criteria.add( Restrictions.eq( "organisationUnit", organisationUnit ) ); + criteria.add( Restrictions.eq( "dataSet", dataSet ) ); + criteria.add( Restrictions.eq( "dataElement", dataElement ) ); + criteria.add( Restrictions.eq( "startDate", startDate ) ); + criteria.add( Restrictions.eq( "endDate", endDate ) ); + + return (Partner) criteria.uniqueResult(); + } + + @SuppressWarnings( "unchecked" ) + @Override + public Collection getAllPartner() + { + Session session = sessionFactory.getCurrentSession(); + + Criteria criteria = session.createCriteria( Partner.class ); + + return criteria.list(); + } + + @SuppressWarnings( "unchecked" ) + @Override + public Collection getPartner( OrganisationUnit organisationUnit, DataSet dataSet ) + { + Session session = sessionFactory.getCurrentSession(); + + Criteria criteria = session.createCriteria( Partner.class ); + criteria.add( Restrictions.eq( "organisationUnit", organisationUnit ) ); + criteria.add( Restrictions.eq( "dataSet", dataSet ) ); + + return criteria.list(); + } + + @SuppressWarnings( "unchecked" ) + @Override + public Collection getPartner( OrganisationUnit organisationUnit, DataElement dataElement ) + { + Session session = sessionFactory.getCurrentSession(); + + Criteria criteria = session.createCriteria( Partner.class ); + criteria.add( Restrictions.eq( "organisationUnit", organisationUnit ) ); + criteria.add( Restrictions.eq( "dataElement", dataElement ) ); + criteria.addOrder(Order.asc("dataSet")); + + return criteria.list(); + } + + // get OrgUnit Count FromPartner + public Map getOrgUnitCountFromPartner( Integer organisationUnitId, Integer dataSetId, Integer dataElementId, Integer optionId, String startDate, String endDate ) + { + Map partnerOrgUnitCountMap = new HashMap(); + + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + //String curPeriod = simpleDateFormat.format( period.getEndDate() ); + + try + { + String query = "SELECT datasetid, dataelementid, optionid, startdate, enddate ,COUNT( organisationunitid) FROM partner " + + " WHERE " + + " organisationunitid = " + organisationUnitId + " AND " + + " datasetid = " + dataSetId + " AND " + + " dataelementid = " + dataElementId + " AND " + + " optionid = " + optionId + " AND " + + " startdate = '" + startDate + "' AND enddate >= '" + endDate +"' GROUP BY datasetid, dataelementid, startdate, enddate, optionid "; + + + SqlRowSet rs = jdbcTemplate.queryForRowSet( query ); + while ( rs.next() ) + { + Integer dataSetID = rs.getInt( 1 ); + Integer dataElementID = rs.getInt( 2 ); + Integer optionID = rs.getInt( 3 ); + String sDate = simpleDateFormat.format( rs.getDate( 4 ) ); + String eDate = simpleDateFormat.format( rs.getDate( 5 ) ); + Integer orgUnitCount = rs.getInt( 6 ); + + if( orgUnitCount != null && orgUnitCount > 0 ) + { + + String key = dataSetID + ":" + dataElementID + ":" + optionID + ":" + sDate + ":" + eDate; + partnerOrgUnitCountMap.put( key, orgUnitCount ); + } + } + } + catch( Exception e ) + { + System.out.println(" In Partner Data Exception :"+ e.getMessage() ); + } + + return partnerOrgUnitCountMap; + } + + +} === modified file 'local/in/dhis-web-maintenance-rbf/src/main/resources/META-INF/dhis/beans.xml' --- local/in/dhis-web-maintenance-rbf/src/main/resources/META-INF/dhis/beans.xml 2014-10-24 11:05:35 +0000 +++ local/in/dhis-web-maintenance-rbf/src/main/resources/META-INF/dhis/beans.xml 2014-11-14 10:23:57 +0000 @@ -105,15 +105,18 @@ - - - - - - - - - + + + + + + + + + + + + === added file 'local/in/dhis-web-maintenance-rbf/src/main/resources/org/hisp/dhis/rbf/hibernate/Partner.hbm.xml' --- local/in/dhis-web-maintenance-rbf/src/main/resources/org/hisp/dhis/rbf/hibernate/Partner.hbm.xml 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-maintenance-rbf/src/main/resources/org/hisp/dhis/rbf/hibernate/Partner.hbm.xml 2014-11-14 10:23:57 +0000 @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + === added file 'local/in/dhis-web-maintenance-rbf/src/main/webapp/dhis-web-maintenance-rbf/loadDataEntryForm_03_11_2014.vm' --- local/in/dhis-web-maintenance-rbf/src/main/webapp/dhis-web-maintenance-rbf/loadDataEntryForm_03_11_2014.vm 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-maintenance-rbf/src/main/webapp/dhis-web-maintenance-rbf/loadDataEntryForm_03_11_2014.vm 2014-11-14 10:23:57 +0000 @@ -0,0 +1,423 @@ + + + + +## Macro for generating the jQuery validation rules + +#macro( validate $type $require ) + #if( $type == "NUMBER" || $type == "number" ) + {validate:{ number:true #if($require), required:true #end }} + + #elseif( $type == "int" ) + {validate:{ integer:true #if($require), required:true #end }} + + #elseif( $type == "positiveNumber" ) + {validate:{ positive_integer:true #if($require), required:true #end }} + + #elseif( $type == "negativeNumber" ) + {validate:{ negative_integer:true #if($require), required:true #end }} + + + #elseif( $require ) + {validate:{required:true}} + #end +#end + + + + + + + + + +#set( $tabIndex = 1 ) +#if ( $dataElements.size() > 0) + + + + + + + + + + + #if( $auth.hasAccess( "dhis-web-maintenance-rbf", "quanitityValidated") || $auth.hasAccess( "dhis-web-maintenance-rbf", "quanitityExternalVerification") || $auth.hasAccess( "dhis-web-maintenance-rbf", "pbfAdminDataEntry" ) ) + + #end + + #if( $auth.hasAccess( "dhis-web-maintenance-rbf", "quanitityExternalVerification") || $auth.hasAccess( "dhis-web-maintenance-rbf", "pbfAdminDataEntry" ) ) + + #end + + #if( $auth.hasAccess( "dhis-web-maintenance-rbf", "quanitityValidated") || $auth.hasAccess( "dhis-web-maintenance-rbf", "quanitityExternalVerification") || $auth.hasAccess( "dhis-web-maintenance-rbf", "pbfAdminDataEntry" ) ) + + + #end + + + + #set( $mark = false ) + #foreach($dataElement in $dataElements ) + #if( $mark1 ) + #set( $mark1 = false ) + #else + #set( $mark1 = true ) + #end + + + + #set( $count = 0) + #set( $pbfDataValue = $!pbfDataValueMap.get( $dataElement ) ) + + + + #if( $auth.hasAccess( "dhis-web-maintenance-rbf", "pbfAdminDataEntry" ) ) + + + + + + + #else + + + #if( $auth.hasAccess( "dhis-web-maintenance-rbf", "quanitityValidated") || $auth.hasAccess( "dhis-web-maintenance-rbf", "quanitityExternalVerification") ) + + + #end + + #if( $auth.hasAccess( "dhis-web-maintenance-rbf", "quanitityExternalVerification") ) + + + #end + + #end + + + + + + + + #end + + #set( $count = $count + 1) + + #set( $tabIndex = $tabIndex + 1 ) + #set( $mark = !$mark) +#end + + #if( $auth.hasAccess( "dhis-web-maintenance-rbf", "quanitityValidated") || $auth.hasAccess( "dhis-web-maintenance-rbf", "quanitityExternalVerification") ) + + + + + + + + + #end + +
$i18n.getString( "dataelement" )$i18n.getString( "partner" )$i18n.getString( "qty_reported" )$i18n.getString( "qty_validated" )$i18n.getString( "qty_external_verification" )$i18n.getString( "tariff_amount" )$i18n.getString( "total" )
+ + + + + + + + + + + + + + + +
      + +