This is an automated email from the git hooks/post-receive script. New commit to branch feature/6910-obsVente-effort-bis in repository wao. See http://git.codelutin.com/wao.git commit 97d66bdfc7ddbc792ffda1f2b082da8225e19bb3 Author: Brendan Le Ny <bleny@codelutin.com> Date: Fri Apr 10 16:41:57 2015 +0200 Dans la synthèse changement du calcul du réalisé pour ObsVente en nombre de sorties et pas en nombre d'observations --- .../wao/services/service/SynthesisService.java | 27 ++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/wao-services/src/main/java/fr/ifremer/wao/services/service/SynthesisService.java b/wao-services/src/main/java/fr/ifremer/wao/services/service/SynthesisService.java index 5ffcdc9..b49a15f 100644 --- a/wao-services/src/main/java/fr/ifremer/wao/services/service/SynthesisService.java +++ b/wao-services/src/main/java/fr/ifremer/wao/services/service/SynthesisService.java @@ -25,6 +25,7 @@ import com.google.common.base.MoreObjects; import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.cache.Cache; +import com.google.common.collect.HashMultimap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.LinkedListMultimap; import com.google.common.collect.ListMultimap; @@ -62,6 +63,7 @@ import org.nuiton.i18n.I18n; import org.nuiton.util.DateUtil; import java.util.Collection; +import java.util.Collections; import java.util.Date; import java.util.LinkedHashMap; import java.util.List; @@ -761,13 +763,30 @@ public class SynthesisService extends WaoServiceSupport { } @Override - protected ListMultimap<Date, Integer> getActualObservationsByPeriods(Collection<Contact> contacts) { - ListMultimap<Date, Integer> actualObservationsByPeriods = LinkedListMultimap.create(); + protected Multimap<Date, Integer> getActualObservationsByPeriods(Collection<Contact> contacts) { + HashMultimap<Date, Pair<Date, Date>> actualTripsByPeriods = HashMultimap.create(); for (Contact contact : contacts) { Preconditions.checkState(sampleRows.contains(contact.getSampleRow())); - actualObservationsByPeriods.put(truncateToTimePeriod(contact.getObservationBeginDate()), 1); + Date period = truncateToTimePeriod(contact.getObservationBeginDate()); + + // la sortie + Pair<Date, Date> trip = Pair.of( + contact.getObservationBeginDate(), + contact.getObservationEndDate()); + + // on ajoute la sortie sur la période, elle ne sera comptée qu'une fois car c'est un Set + actualTripsByPeriods.put(period, trip); } - return actualObservationsByPeriods; + + TreeMap<Date, Integer> actualObservationsByPeriods = new TreeMap<>(); + for (Map.Entry<Date, Collection<Pair<Date, Date>>> entry : actualTripsByPeriods.asMap().entrySet()) { + Date period = entry.getKey(); + + // ce qui nous intéresse, c'est le nombre de sortie + actualObservationsByPeriods.put(period, MoreObjects.firstNonNull(entry.getValue(), Collections.emptySet()).size()); + } + + return Multimaps.forMap(actualObservationsByPeriods); } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.