r1576 - in trunk/wao-business/src/main/java/fr/ifremer/wao: entity service
Author: bleny Date: 2012-03-26 15:11:38 +0200 (Mon, 26 Mar 2012) New Revision: 1576 Url: http://forge.codelutin.com/repositories/revision/wao/1576 Log: #664 Passer la synth?\195?\168se sur un filtrage au niveau contacts : dans la premi?\195?\168re synth?\195?\168se on restreint l'affichage aux dates d?\195?\169finies dans les filtres Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactDAOImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowDAOImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactDAOImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactDAOImpl.java 2012-03-21 09:59:37 UTC (rev 1575) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactDAOImpl.java 2012-03-26 13:11:38 UTC (rev 1576) @@ -40,6 +40,7 @@ import fr.ifremer.wao.bean.PieChartDataImpl; import fr.ifremer.wao.bean.PieChartSeries; import fr.ifremer.wao.bean.PieChartSeriesImpl; +import org.apache.commons.lang3.Range; import org.apache.commons.lang3.time.DateUtils; import org.nuiton.topia.TopiaException; import org.nuiton.topia.framework.TopiaQuery; @@ -349,19 +350,25 @@ .addEquals(query.getMainAlias() + "." + Contact.PROPERTY_VALIDATION_COMPANY, true) .addEquals(query.getMainAlias() + "." + Contact.PROPERTY_VALIDATION_PROGRAM, true); + Range<Date> range = Range.between(monthsPeriod.getFromDate(), monthsPeriod.getThruDate()); + for (Contact contact : findAllByQuery(query)) { Date month = DateUtils.truncate(contact.getObservationBeginDate(), Calendar.MONTH); - Integer count = actualObservationsMyMonths.get(month); + if (range.contains(month)) { - if (count == null) { - count = 0; - } + Integer count = actualObservationsMyMonths.get(month); - count += 1; + if (count == null) { + count = 0; + } - actualObservationsMyMonths.put(month, count); + count += 1; + + actualObservationsMyMonths.put(month, count); + + } } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowDAOImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowDAOImpl.java 2012-03-21 09:59:37 UTC (rev 1575) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowDAOImpl.java 2012-03-26 13:11:38 UTC (rev 1576) @@ -6,6 +6,7 @@ import fr.ifremer.wao.bean.ObservationType; import fr.ifremer.wao.bean.SamplingFilter; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.Range; import org.apache.commons.lang3.StringUtils; import org.nuiton.topia.TopiaException; import org.nuiton.topia.framework.TopiaQuery; @@ -229,10 +230,14 @@ List<Object[]> res = context.findByQuery(query); + Range<Date> range = Range.between(monthsPeriod.getFromDate(), monthsPeriod.getThruDate()); + for (Object[] line : res) { Date month = (Date)line[0]; - int expectedValue = ((Long) line[1]).intValue(); - expectedObservationsByMonths.put(month, expectedValue); + if (range.contains(month)) { + int expectedValue = ((Long) line[1]).intValue(); + expectedObservationsByMonths.put(month, expectedValue); + } } return expectedObservationsByMonths; Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java 2012-03-21 09:59:37 UTC (rev 1575) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java 2012-03-26 13:11:38 UTC (rev 1576) @@ -111,16 +111,15 @@ TopiaContext transaction, ContactFilter filter) throws TopiaException { - PeriodDates monthsPeriod = new PeriodDates(filter.getPeriod().getFromDate(), filter.getPeriod().getThruDate()); - monthsPeriod.initDayOfMonthExtremities(); - filter.getSamplingFilter().setPeriod(monthsPeriod); - SampleRowDAO dao = WaoDAOHelper.getSampleRowDAO(transaction); ContactDAO contactDAO = WaoDAOHelper.getContactDAO(transaction); // Pour le calcul du programmé + PeriodDates monthsPeriod = new PeriodDates(filter.getPeriod().getFromDate(), filter.getPeriod().getThruDate()); + filter.getSamplingFilter().setPeriod(monthsPeriod); SortedMap<Date, Integer> expectedObservationsByMonths = dao.getExpectedObservationsByMonths(filter.getSamplingFilter()); + filter.getSamplingFilter().setPeriod(null); // Pour le calcul du réalisé SortedMap<Date, Integer> actualObservationsMyMonths =
participants (1)
-
bleny@users.forge.codelutin.com