=== added directory 'local/in/dhis-in-services/dhis-in-service-dataentrystatus' === added file 'local/in/dhis-in-services/dhis-in-service-dataentrystatus/pom.xml' --- local/in/dhis-in-services/dhis-in-service-dataentrystatus/pom.xml 1970-01-01 00:00:00 +0000 +++ local/in/dhis-in-services/dhis-in-service-dataentrystatus/pom.xml 2011-06-15 05:50:55 +0000 @@ -0,0 +1,50 @@ + + 4.0.0 + + + org.hisp.dhis + dhis-in-services + 2.3-SNAPSHOT + + + dhis-in-service-dataentrystatus + jar + DHIS India DataEntryStatus Service + + + + + + + org.hisp.dhis + dhis-api + + + org.hisp.dhis + dhis-in-api + ${project.version} + + + org.hisp.dhis + dhis-service-core + + + org.hisp.dhis + dhis-support-system + + + + + + commons-logging + commons-logging + + + commons-math + commons-math + + + + === added directory 'local/in/dhis-in-services/dhis-in-service-dataentrystatus/src' === added directory 'local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main' === added directory 'local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/java' === added directory 'local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/java/org' === added directory 'local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/java/org/hisp' === added directory 'local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/java/org/hisp/dhis' === added directory 'local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/java/org/hisp/dhis/dataentrystatus' === added file 'local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/java/org/hisp/dhis/dataentrystatus/DefaultDataEntryStatusService.java' --- local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/java/org/hisp/dhis/dataentrystatus/DefaultDataEntryStatusService.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/java/org/hisp/dhis/dataentrystatus/DefaultDataEntryStatusService.java 2011-06-15 05:50:55 +0000 @@ -0,0 +1,130 @@ +package org.hisp.dhis.dataentrystatus; + +import java.util.Collection; + +import org.hisp.dhis.dataset.DataSet; +import org.hisp.dhis.organisationunit.OrganisationUnit; +import org.hisp.dhis.period.Period; +import org.springframework.transaction.annotation.Transactional; + +@Transactional +public class DefaultDataEntryStatusService implements DataEntryStatusService +{ + //private static final Log log = LogFactory.getLog( DefaultDataEntryStatusService.class ); + + // ------------------------------------------------------------------------- + // Dependencies + // ------------------------------------------------------------------------- + + private DataEntryStatusStore dataEntryStatusStore; + + public void setDataEntryStatusStore( DataEntryStatusStore dataEntryStatusStore ) + { + this.dataEntryStatusStore = dataEntryStatusStore; + } + + // ------------------------------------------------------------------------- + // Basic DataValue + // ------------------------------------------------------------------------- + + public void addDataEntryStatus( DataEntryStatus dataEntryStatus ) + { + if ( !dataEntryStatus.isNullValue() ) + { + dataEntryStatusStore.addDataEntryStatus( dataEntryStatus ); + } + } + + public void updateDataEntryStatus( DataEntryStatus dataEntryStatus ) + { + if ( dataEntryStatus.isNullValue() ) + { + this.deleteDataEntryStatus( dataEntryStatus ); + } + else + { + dataEntryStatusStore.updateDataEntryStatus( dataEntryStatus ); + } + } + + @Transactional + public void deleteDataEntryStatus( DataEntryStatus dataEntryStatus ) + { + dataEntryStatusStore.deleteDataEntryStatus( dataEntryStatus ); + } + + + @Transactional + public int deleteDataEntryStatusBySource( OrganisationUnit organisationUnit ) + { + return dataEntryStatusStore.deleteDataEntryStatusBySource( organisationUnit ); + } + + @Transactional + public int deleteDataEntryStatusByDataSet( DataSet dataSet ) + { + return dataEntryStatusStore.deleteDataEntryStatusByDataSet( dataSet ); + } + + public DataEntryStatus getDataEntryStatusValue( DataSet dataSet, OrganisationUnit organisationUnit, Period period, String includeZero ) + { + return dataEntryStatusStore.getDataEntryStatusValue( dataSet, organisationUnit, period, includeZero ); + } + + public String getValue( int dataSetId, int organisationUnitId, int periodId ,String includeZero ) + { + return dataEntryStatusStore.getValue( dataSetId, organisationUnitId, periodId , includeZero ); + } + + // ------------------------------------------------------------------------- + // Collections of DataEntryStatus + // ------------------------------------------------------------------------- + + public Collection getAllDataEntryStatusValues() + { + return dataEntryStatusStore.getAllDataEntryStatusValues(); + + } + + public Collection getDataEntryStatusValues( OrganisationUnit organisationUnit, Period period ) + { + return dataEntryStatusStore.getDataEntryStatusValues( organisationUnit, period ); + } + + public Collection getDataEntryStatusValues( DataSet dataSet, OrganisationUnit organisationUnit ) + { + return dataEntryStatusStore.getDataEntryStatusValues( dataSet, organisationUnit ); + } + + public Collection getDataEntryStatusValues( DataSet dataSet ) + { + return dataEntryStatusStore.getDataEntryStatusValues( dataSet ); + } + + + public Collection getDataEntryStatusValues( DataSet dataSet, Collection organisationUnits ) + { + return dataEntryStatusStore.getDataEntryStatusValues( dataSet, organisationUnits ); + } + + + public Collection getDataEntryStatusValues( Collection dataSets, OrganisationUnit organisationUnit, Period period ) + { + return dataEntryStatusStore.getDataEntryStatusValues( dataSets, organisationUnit, period ); + } + + public Collection getDataEntryStatusValues( DataSet dataSet, Collection organisationUnits, Period period ) + { + return dataEntryStatusStore.getDataEntryStatusValues( dataSet, organisationUnits, period ); + } + + public Collection getDataEntryStatusValues( DataSet dataSet, Collection organisationUnits, Collection periods ) + { + return dataEntryStatusStore.getDataEntryStatusValues( dataSet, organisationUnits, periods ); + } + + public Collection getDataEntryStatusValues( Collection dataSets ) + { + return dataEntryStatusStore.getDataEntryStatusValues( dataSets ); + } +} === added directory 'local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/java/org/hisp/dhis/dataentrystatus/hibernate' === added file 'local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/java/org/hisp/dhis/dataentrystatus/hibernate/HibernateDataEntryStatusStore.java' --- local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/java/org/hisp/dhis/dataentrystatus/hibernate/HibernateDataEntryStatusStore.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/java/org/hisp/dhis/dataentrystatus/hibernate/HibernateDataEntryStatusStore.java 2011-06-15 05:50:55 +0000 @@ -0,0 +1,276 @@ +package org.hisp.dhis.dataentrystatus.hibernate; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; + +import org.amplecode.quick.StatementManager; +import org.hibernate.Criteria; +import org.hibernate.Query; +import org.hibernate.Session; +import org.hibernate.SessionFactory; +import org.hibernate.criterion.Order; +import org.hibernate.criterion.Restrictions; +import org.hisp.dhis.dataentrystatus.DataEntryStatus; +import org.hisp.dhis.dataentrystatus.DataEntryStatusStore; +import org.hisp.dhis.dataset.DataSet; +import org.hisp.dhis.datavalue.DataValue; +import org.hisp.dhis.organisationunit.OrganisationUnit; +import org.hisp.dhis.period.Period; +import org.hisp.dhis.period.PeriodStore; + + +public class HibernateDataEntryStatusStore implements DataEntryStatusStore +{ + // ------------------------------------------------------------------------- + // Dependencies + // ------------------------------------------------------------------------- + + private SessionFactory sessionFactory; + + public void setSessionFactory( SessionFactory sessionFactory ) + { + this.sessionFactory = sessionFactory; + } + + private StatementManager statementManager; + + public void setStatementManager( StatementManager statementManager ) + { + this.statementManager = statementManager; + } + + private PeriodStore periodStore; + + public void setPeriodStore( PeriodStore periodStore ) + { + this.periodStore = periodStore; + } + + // ------------------------------------------------------------------------- + // Basic DataValue + // ------------------------------------------------------------------------- + + public void addDataEntryStatus( DataEntryStatus dataEntryStatus ) + { + dataEntryStatus.setPeriod( periodStore.reloadForceAddPeriod( dataEntryStatus.getPeriod() ) ); + + Session session = sessionFactory.getCurrentSession(); + + session.save( dataEntryStatus ); + } + + public void updateDataEntryStatus( DataEntryStatus dataEntryStatus ) + { + dataEntryStatus.setPeriod( periodStore.reloadForceAddPeriod( dataEntryStatus.getPeriod() ) ); + + Session session = sessionFactory.getCurrentSession(); + + session.update( dataEntryStatus ); + } + + public void deleteDataEntryStatus( DataEntryStatus dataEntryStatus ) + { + Session session = sessionFactory.getCurrentSession(); + + session.delete( dataEntryStatus ); + } + + public int deleteDataEntryStatusBySource( OrganisationUnit organisationUnit ) + { + Session session = sessionFactory.getCurrentSession(); + + Query query = session.createQuery( "delete value where organisationunit = :organisationUnit" ); + query.setEntity( "organisationunit", organisationUnit ); + + return query.executeUpdate(); + } + + public int deleteDataEntryStatusByDataSet( DataSet dataSet ) + { + Session session = sessionFactory.getCurrentSession(); + + Query query = session.createQuery( "delete DataValue where dataset = :dataSet" ); + query.setEntity( "dataset", dataSet ); + + return query.executeUpdate(); + } + + + public DataEntryStatus getDataEntryStatusValue( DataSet dataSet, OrganisationUnit organisationUnit, Period period, String includeZero ) + { + Session session = sessionFactory.getCurrentSession(); + + Period storedPeriod = periodStore.reloadPeriod( period ); + + if ( storedPeriod == null ) + { + return null; + } + + Criteria criteria = session.createCriteria( DataEntryStatus.class ); + criteria.add( Restrictions.eq( "dataset", dataSet ) ); + criteria.add( Restrictions.eq( "organisationunit", organisationUnit ) ); + criteria.add( Restrictions.eq( "period", storedPeriod ) ); + criteria.add( Restrictions.eq( "includeZero", includeZero ) ); + + return (DataEntryStatus) criteria.uniqueResult(); + } + + public String getValue( int dataSetId, int organisationUnitId, int periodId ,String includeZero ) + { + final String sql = "SELECT value " + "FROM dataentrystatus " + "WHERE datasetid='" + dataSetId + "' " + + "AND organisationunitid='" + organisationUnitId + "' " + "AND periodid='" + periodId + "' " + "AND includezero ='" + includeZero + " '" ; + + return statementManager.getHolder().queryForString( sql ); + } + + + // ------------------------------------------------------------------------- + // Collections of DataEntryStatus + // ------------------------------------------------------------------------- + + @SuppressWarnings( "unchecked" ) + public Collection getAllDataEntryStatusValues() + { + Session session = sessionFactory.getCurrentSession(); + + Criteria criteria = session.createCriteria( DataEntryStatus.class ); + + return criteria.list(); + } + + @SuppressWarnings( "unchecked" ) + public Collection getDataEntryStatusValues( OrganisationUnit organisationUnit, Period period ) + { + Period storedPeriod = periodStore.reloadPeriod( period ); + + if ( storedPeriod == null ) + { + return Collections.emptySet(); + } + + Session session = sessionFactory.getCurrentSession(); + + Criteria criteria = session.createCriteria( DataEntryStatus.class ); + criteria.add( Restrictions.eq( "organisationunit", organisationUnit ) ); + criteria.add( Restrictions.eq( "period", storedPeriod ) ); + + return criteria.list(); + } + + @SuppressWarnings( "unchecked" ) + public Collection getDataEntryStatusValues( DataSet dataSet, OrganisationUnit organisationUnit ) + { + Session session = sessionFactory.getCurrentSession(); + + Criteria criteria = session.createCriteria( DataEntryStatus.class ); + criteria.add( Restrictions.eq( "dataset", dataSet ) ); + criteria.add( Restrictions.eq( "organisationunit", organisationUnit ) ); + + return criteria.list(); + } + + + @SuppressWarnings( "unchecked" ) + public Collection getDataEntryStatusValues( DataSet dataSet ) + { + Session session = sessionFactory.getCurrentSession(); + + Criteria criteria = session.createCriteria( DataEntryStatus.class ); + criteria.add( Restrictions.eq( "dataset", dataSet ) ); + + return criteria.list(); + } + + + @SuppressWarnings( "unchecked" ) + public Collection getDataEntryStatusValues( DataSet dataSet, Collection organisationUnits ) + { + Session session = sessionFactory.getCurrentSession(); + + Criteria criteria = session.createCriteria( DataEntryStatus.class ); + criteria.add( Restrictions.eq( "dataset", dataSet ) ); + criteria.add( Restrictions.in( "organisationunit", organisationUnits ) ); + + return criteria.list(); + } + + @SuppressWarnings( "unchecked" ) + public Collection getDataEntryStatusValues( Collection dataSets, OrganisationUnit organisationUnit, Period period ) + { + Period storedPeriod = periodStore.reloadPeriod( period ); + + if ( storedPeriod == null ) + { + return Collections.emptySet(); + } + + Session session = sessionFactory.getCurrentSession(); + + Criteria criteria = session.createCriteria( DataEntryStatus.class ); + criteria.add( Restrictions.in( "dataset", dataSets ) ); + criteria.add( Restrictions.eq( "organisationunit", organisationUnit ) ); + criteria.add( Restrictions.eq( "period", storedPeriod ) ); + + return criteria.list(); + } + + @SuppressWarnings( "unchecked" ) + public Collection getDataEntryStatusValues( DataSet dataSet, Collection organisationUnits, Period period ) + { + Period storedPeriod = periodStore.reloadPeriod( period ); + + if ( storedPeriod == null ) + { + return new HashSet(); + } + + Session session = sessionFactory.getCurrentSession(); + + Criteria criteria = session.createCriteria( DataEntryStatus.class ); + criteria.add( Restrictions.eq( "dataset", dataSet ) ); + criteria.add( Restrictions.in( "organisationunit", organisationUnits ) ); + criteria.add( Restrictions.eq( "period", storedPeriod ) ); + criteria.addOrder( Order.asc( "organisationunit" )); + return criteria.list(); + } + + @SuppressWarnings( "unchecked" ) + public Collection getDataEntryStatusValues( DataSet dataSet, Collection organisationUnits, Collection periods ) + { + Collection storedPeriods = new ArrayList(); + + for ( Period period : periods ) + { + Period storedPeriod = periodStore.reloadPeriod( period ); + + if ( storedPeriod != null ) + { + storedPeriods.add( storedPeriod ); + } + } + + Session session = sessionFactory.getCurrentSession(); + + Criteria criteria = session.createCriteria( DataEntryStatus.class ); + criteria.add( Restrictions.eq( "dataset", dataSet ) ); + criteria.add( Restrictions.in( "organisationunit", organisationUnits ) ); + criteria.add( Restrictions.in( "period", storedPeriods ) ); + criteria.addOrder( Order.asc( "organisationunit" )); + criteria.addOrder( Order.asc( "period" )); + return criteria.list(); + } + + @SuppressWarnings( "unchecked" ) + public Collection getDataEntryStatusValues( Collection dataSets ) + { + Session session = sessionFactory.getCurrentSession(); + + Criteria criteria = session.createCriteria( DataValue.class ); + criteria.add( Restrictions.in( "dataset", dataSets ) ); + + return criteria.list(); + } +} === added directory 'local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/resources' === added directory 'local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/resources/META-INF' === added directory 'local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/resources/META-INF/dhis' === added file 'local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/resources/META-INF/dhis/beans.xml' --- local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/resources/META-INF/dhis/beans.xml 1970-01-01 00:00:00 +0000 +++ local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/resources/META-INF/dhis/beans.xml 2011-06-15 05:50:55 +0000 @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + === added directory 'local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/resources/org' === added directory 'local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/resources/org/hisp' === added directory 'local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/resources/org/hisp/dhis' === added directory 'local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/resources/org/hisp/dhis/dataentrystatus' === added directory 'local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/resources/org/hisp/dhis/dataentrystatus/hibernate' === added file 'local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/resources/org/hisp/dhis/dataentrystatus/hibernate/DataEntryStatus.hbm.xml' --- local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/resources/org/hisp/dhis/dataentrystatus/hibernate/DataEntryStatus.hbm.xml 1970-01-01 00:00:00 +0000 +++ local/in/dhis-in-services/dhis-in-service-dataentrystatus/src/main/resources/org/hisp/dhis/dataentrystatus/hibernate/DataEntryStatus.hbm.xml 2011-06-15 05:50:55 +0000 @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + === modified file 'local/in/dhis-in-services/dhis-in-service-reports/src/main/java/org/hisp/dhis/reports/DefaultReportService.java' --- local/in/dhis-in-services/dhis-in-service-reports/src/main/java/org/hisp/dhis/reports/DefaultReportService.java 2011-05-27 11:25:15 +0000 +++ local/in/dhis-in-services/dhis-in-service-reports/src/main/java/org/hisp/dhis/reports/DefaultReportService.java 2011-06-15 05:50:55 +0000 @@ -272,7 +272,7 @@ { dataElementid = 1020; } - else if ( lltype.equalsIgnoreCase( "lldeath-l4DECodes.xml" ) || lltype.equalsIgnoreCase( "lldeath-l5DECodes.xml" ) || lltype.equalsIgnoreCase( "lldeath-l6DECodes.xml" ) ) + else if ( lltype.equalsIgnoreCase( "lldeath-l4DECodes.xml" ) || lltype.equalsIgnoreCase( "lldeath-l5DECodes.xml" ) || lltype.equalsIgnoreCase( "lldeath-l6DECodes.xml" ) || lltype.equalsIgnoreCase( "monthly_SCWebPortalDECodes.xml" ) ) { dataElementid = 1027; } === modified file 'local/in/dhis-in-services/pom.xml' --- local/in/dhis-in-services/pom.xml 2011-04-27 16:07:05 +0000 +++ local/in/dhis-in-services/pom.xml 2011-06-15 05:50:55 +0000 @@ -19,6 +19,7 @@ dhis-in-service-linelisting dhis-in-service-reports dhis-in-service-survey + dhis-in-service-dataentrystatus