branch develop updated (6e00bd8 -> 3af034f)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git from 6e00bd8 [jgitflow-maven-plugin]Updating develop poms back to pre merge state new 59b3a2c - fixes #8661: [ALGORITHME DE PRELEVEMENTS] mauvais fonctionnement des compteurs quand on décoche l'option "maturité" et/ou "sexe" remise en place de l'obligation des zones. Si on ne veut qu'une seul zone, il faudra la créer dans le protocole (ex: 'toutes les zones') new adba6a5 fixes #8661: [ALGORITHME DE PRELEVEMENTS] mauvais fonctionnement des compteurs quand on décoche l'option "maturité" et/ou "sexe" - correction pour que la demande de prelevement utilise les dernieres infos du status new 3af034f Merge branch 'develop' of https://gitlab.nuiton.org/codelutin/tutti into develop The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 3af034f57aae67e228842ffccbf90dbf6d8a6459 Merge: adba6a5 6e00bd8 Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Thu Jan 5 14:12:03 2017 +0100 Merge branch 'develop' of https://gitlab.nuiton.org/codelutin/tutti into develop commit adba6a55c6e3127dae8dfad8e3d54e2f7252143a Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Thu Jan 5 14:10:55 2017 +0100 fixes #8661: [ALGORITHME DE PRELEVEMENTS] mauvais fonctionnement des compteurs quand on décoche l'option "maturité" et/ou "sexe" - correction pour que la demande de prelevement utilise les dernieres infos du status commit 59b3a2ca6a7ffad06ed1b323a2249f1cec2b5226 Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Thu Jan 5 13:29:37 2017 +0100 - fixes #8661: [ALGORITHME DE PRELEVEMENTS] mauvais fonctionnement des compteurs quand on décoche l'option "maturité" et/ou "sexe" remise en place de l'obligation des zones. Si on ne veut qu'une seul zone, il faudra la créer dans le protocole (ex: 'toutes les zones') Summary of changes: .../service/sampling/CruiseSamplingCache.java | 73 ++++++++++------------ .../IndividualObservationSamplingContext.java | 3 +- .../IndividualObservationSamplingStatus.java | 45 ++++++------- .../frequency/SamplingNotificationZoneHandler.java | 15 ++--- .../resources/i18n/tutti-ui-swing_en_GB.properties | 1 - .../resources/i18n/tutti-ui-swing_fr_FR.properties | 1 - 6 files changed, 64 insertions(+), 74 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 59b3a2ca6a7ffad06ed1b323a2249f1cec2b5226 Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Thu Jan 5 13:29:37 2017 +0100 - fixes #8661: [ALGORITHME DE PRELEVEMENTS] mauvais fonctionnement des compteurs quand on décoche l'option "maturité" et/ou "sexe" remise en place de l'obligation des zones. Si on ne veut qu'une seul zone, il faudra la créer dans le protocole (ex: 'toutes les zones') --- .../service/sampling/CruiseSamplingCache.java | 73 ++++++++++------------ .../IndividualObservationSamplingContext.java | 3 +- .../frequency/SamplingNotificationZoneHandler.java | 15 ++--- .../resources/i18n/tutti-ui-swing_en_GB.properties | 1 - .../resources/i18n/tutti-ui-swing_fr_FR.properties | 1 - 5 files changed, 41 insertions(+), 52 deletions(-) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingCache.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingCache.java index 333d73d..82b1c8d 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingCache.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingCache.java @@ -151,15 +151,14 @@ public class CruiseSamplingCache implements CruiseCacheAble { Objects.requireNonNull(individualObservations); Optional<Zone> optionalZone = tryFindZone(fishingOperation); - // poussin 20170104 #8661: on doit pouvoir faire des stats meme sans zone -// if (!optionalZone.isPresent()) { -// -// // pas de zone définie pour cette opération de pêche, on n'enregistre rien ici. -// return; -// -// } + if (!optionalZone.isPresent()) { - Zone zone = optionalZone.orElse(null); + // pas de zone définie pour cette opération de pêche, on n'enregistre rien ici. + return; + + } + + Zone zone = optionalZone.get(); setLoading(true); @@ -218,15 +217,14 @@ public class CruiseSamplingCache implements CruiseCacheAble { Objects.requireNonNull(individualObservations); Optional<Zone> optionalZone = tryFindZone(fishingOperation); - // poussin 20170104 #8661: on doit pouvoir faire des stats meme sans zone -// if (!optionalZone.isPresent()) { -// -// // pas de zone définie pour cette opération de pêche, rien à supprimer alors. -// return; -// -// } + if (!optionalZone.isPresent()) { + + // pas de zone définie pour cette opération de pêche, rien à supprimer alors. + return; - Zone zone = optionalZone.orElse(null); + } + + Zone zone = optionalZone.get(); setLoading(true); @@ -286,15 +284,14 @@ public class CruiseSamplingCache implements CruiseCacheAble { Objects.requireNonNull(individualObservations); Optional<Zone> optionalZone = tryFindZone(fishingOperation); - // poussin 20170104 #8661: on doit pouvoir faire des stats meme sans zone -// if (!optionalZone.isPresent()) { -// -// // pas de zone définie pour cette opération de pêche, rien à supprimer alors. -// return; -// -// } + if (!optionalZone.isPresent()) { + + // pas de zone définie pour cette opération de pêche, rien à supprimer alors. + return; + + } - Zone zone = optionalZone.orElse(null); + Zone zone = optionalZone.get(); String fishingOperationId = fishingOperation.getId(); @@ -388,11 +385,10 @@ public class CruiseSamplingCache implements CruiseCacheAble { Objects.requireNonNull(fishingOperation); Optional<Zone> optionalZone = tryFindZone(fishingOperation); - // poussin 20170104 #8661: on doit pouvoir faire des stats meme sans zone -// if (!optionalZone.isPresent()) { -// -// throw new ZoneNotDefinedOnFishingOperationException(request); -// } + if (!optionalZone.isPresent()) { + + throw new ZoneNotDefinedOnFishingOperationException(request); + } CaracteristicQualitativeValue gender = request.getGender(); Boolean maturity = getMaturity(request); @@ -407,7 +403,7 @@ public class CruiseSamplingCache implements CruiseCacheAble { IndividualObservationSamplingContext context = createContext(fishingOperation.getIdAsInt(), species, - optionalZone.orElse(null), + optionalZone.get(), optionalCalcifiedPiecesSamplingDefinition.get(), lengthStep, maturity, @@ -695,14 +691,13 @@ public class CruiseSamplingCache implements CruiseCacheAble { Objects.requireNonNull(fishingOperation); Optional<Zone> optionalZone = tryFindZone(fishingOperation); - // poussin 20170104 #8661: on doit pouvoir faire des stats meme sans zone -// if (!optionalZone.isPresent()) { -// -// if (log.isInfoEnabled()) { -// log.info("Do not record sampling in cache, fishing operation has no matching zone."); -// } -// return null; -// } + if (!optionalZone.isPresent()) { + + if (log.isInfoEnabled()) { + log.info("Do not record sampling in cache, fishing operation has no matching zone."); + } + return null; + } Integer lengthStep = request.getLengthClass(); Objects.requireNonNull(lengthStep); @@ -726,7 +721,7 @@ public class CruiseSamplingCache implements CruiseCacheAble { return createContext(fishingOperation.getIdAsInt(), species, - optionalZone.orElse(null), + optionalZone.get(), optionalCalcifiedPiecesSamplingDefinition.get(), lengthStep, maturity, diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/IndividualObservationSamplingContext.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/IndividualObservationSamplingContext.java index 69316b1..efa53ce 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/IndividualObservationSamplingContext.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/IndividualObservationSamplingContext.java @@ -99,8 +99,7 @@ public class IndividualObservationSamplingContext { String fishingOperationSamplingKey) { Objects.requireNonNull(species); Objects.requireNonNull(calcifiedPiecesSamplingDefinition); - // poussin 20170104 #8661: on doit pouvoir faire des stats meme sans zone -// Objects.requireNonNull(zone); + Objects.requireNonNull(zone); Objects.requireNonNull(cruiseSamplingKey); Objects.requireNonNull(zoneSamplingKey); Objects.requireNonNull(fishingOperationSamplingKey); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SamplingNotificationZoneHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SamplingNotificationZoneHandler.java index a49b220..6930c71 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SamplingNotificationZoneHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SamplingNotificationZoneHandler.java @@ -321,12 +321,12 @@ public class SamplingNotificationZoneHandler implements Closeable { return; } -// if (!individualObservationUICache.isFishingOperationWithZone()) { -// -// // pas de zone définie sur l'opération de pêche -// stopUsingStatusNotication(t("tutti.editSpeciesFrequencies.samplingNotification.warning.fishingOperationNotInAZone")); -// return; -// } + if (!individualObservationUICache.isFishingOperationWithZone()) { + + // pas de zone définie sur l'opération de pêche + stopUsingStatusNotication(t("tutti.editSpeciesFrequencies.samplingNotification.warning.fishingOperationNotInAZone")); + return; + } if (!individualObservationUICache.isSpeciesDefinedInCalcifiedPiecesSampling()) { @@ -407,9 +407,6 @@ public class SamplingNotificationZoneHandler implements Closeable { } String zone = zoneDecorator.toString(individualObservationSamplingContext.getZone()); - if (zone == null) { - zone = t("tutti.editSpeciesFrequencies.samplingNeeded.noZone"); - } return t("tutti.editSpeciesFrequencies.samplingNeeded.summary", key, nbForOperationLabel, zone, nbForZoneLabel, nbForCruiseLabel); diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties index 20eab45..6b3bded 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties @@ -1661,7 +1661,6 @@ tutti.editSpeciesFrequencies.logTable.removeRow.confirm.message= tutti.editSpeciesFrequencies.logTable.removeRow.confirm.title= tutti.editSpeciesFrequencies.samplingNeeded.immature= tutti.editSpeciesFrequencies.samplingNeeded.mature= -tutti.editSpeciesFrequencies.samplingNeeded.noZone= tutti.editSpeciesFrequencies.samplingNeeded.summary= tutti.editSpeciesFrequencies.samplingNotification.warning.fishingOperationNotInAZone= tutti.editSpeciesFrequencies.samplingNotification.warning.moreThanOneRowSelected= diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties index d6f4274..78d15de 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties @@ -1555,7 +1555,6 @@ tutti.editSpeciesFrequencies.logTable.removeRow.confirm.title=Suppression d'une tutti.editSpeciesFrequencies.samplingNeeded.immature=Immature tutti.editSpeciesFrequencies.samplingNeeded.mature=Mature tutti.editSpeciesFrequencies.samplingNeeded.max=max -tutti.editSpeciesFrequencies.samplingNeeded.noZone=toute les traits de la campagne tutti.editSpeciesFrequencies.samplingNeeded.summary=<html><body><strong>%s</strong> \: Trait \: %s | %s \: %s | Campagne \: %s tutti.editSpeciesFrequencies.samplingNotification.warning.fishingOperationNotInAZone=Le trait n'est pas dans une zone. tutti.editSpeciesFrequencies.samplingNotification.warning.moreThanOneRowSelected=Plusieurs observations individuelles sélectionnées. -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit adba6a55c6e3127dae8dfad8e3d54e2f7252143a Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Thu Jan 5 14:10:55 2017 +0100 fixes #8661: [ALGORITHME DE PRELEVEMENTS] mauvais fonctionnement des compteurs quand on décoche l'option "maturité" et/ou "sexe" - correction pour que la demande de prelevement utilise les dernieres infos du status --- .../IndividualObservationSamplingStatus.java | 45 +++++++++++----------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/IndividualObservationSamplingStatus.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/IndividualObservationSamplingStatus.java index 6c9f608..76f649a 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/IndividualObservationSamplingStatus.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/IndividualObservationSamplingStatus.java @@ -75,10 +75,7 @@ public class IndividualObservationSamplingStatus { */ private int samplingCountInZone; - /** - * Pour savoir si on demande un prélèvement. - */ - private boolean needSampling; + private final boolean computeSampling; public IndividualObservationSamplingStatus(IndividualObservationSamplingContext individualObservationSamplingContext, boolean computeSampling, @@ -97,21 +94,7 @@ public class IndividualObservationSamplingStatus { this.samplingCountInFishingOperation = fishingOperationSamplingData.getSamplingCount(); this.individualObservationCountInFishingOperation = fishingOperationSamplingData.getIndividualObservationCount(); - boolean needSampling; - - // on calcule needSampling si on nous le demande, que la définnition nous autorise (au moins un max n'est pas à 0) et qu'aucun max n'a été atteint - if (computeSampling && !isNotUsingSampling() && !isOneTotalCountIsAttained()) { - - int samplingInterval = individualObservationSamplingContext.getCalcifiedPiecesSamplingDefinition().getSamplingInterval(); - needSampling = individualObservationCountInCruise== 1 || samplingInterval == 1 || individualObservationCountInCruise % samplingInterval == 1; - - } else { - - needSampling = false; - - } - this.needSampling = needSampling; - + this.computeSampling = computeSampling; } /** @@ -127,7 +110,6 @@ public class IndividualObservationSamplingStatus { samplingCountInFishingOperation += i.samplingCountInFishingOperation; individualObservationCountInZone += i.individualObservationCountInZone; samplingCountInZone += i.samplingCountInZone; - needSampling = needSampling || i.needSampling; } public IndividualObservationSamplingContext getIndividualObservationSamplingContext() { @@ -135,7 +117,26 @@ public class IndividualObservationSamplingStatus { } public boolean isNeedSampling() { - return needSampling; + // le calcul est fait ici et non plus dans le constructeur car + // les données peuvent changé si on appelle la methode add + boolean result; + + // on calcule needSampling si on nous le demande, que la définnition nous autorise (au moins un max n'est pas à 0) et qu'aucun max n'a été atteint + if (computeSampling && !isNotUsingSampling() && !isOneTotalCountIsAttained()) { + + int samplingInterval = individualObservationSamplingContext + .getCalcifiedPiecesSamplingDefinition().getSamplingInterval(); + result = individualObservationCountInCruise == 1 + || samplingInterval == 1 + || individualObservationCountInCruise % samplingInterval == 1; + + } else { + + result = false; + + } + + return result; } public CalcifiedPiecesSamplingDefinition getCalcifiedPiecesSamplingDefinition() { @@ -226,7 +227,7 @@ public class IndividualObservationSamplingStatus { .add("samplingCountInFishingOperation", samplingCountInFishingOperation) .add("individualObservationCountInZone", getIndividualObservationCountInZone()) .add("samplingCountInZone", samplingCountInZone) - .add("needSampling", needSampling) + .add("needSampling", isNeedSampling()) .toString(); } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 3af034f57aae67e228842ffccbf90dbf6d8a6459 Merge: adba6a5 6e00bd8 Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Thu Jan 5 14:12:03 2017 +0100 Merge branch 'develop' of https://gitlab.nuiton.org/codelutin/tutti into develop pom.xml | 2 +- tutti-caliper/pom.xml | 2 +- tutti-ichtyometer/pom.xml | 2 +- tutti-persistence/pom.xml | 2 +- tutti-report-generator/pom.xml | 2 +- tutti-service/pom.xml | 2 +- tutti-ui-swing-updater/pom.xml | 2 +- tutti-ui-swing/pom.xml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm