This is an automated email from the git hooks/post-receive script. New commit to branch feature/7720 in repository tutti. See http://git.codelutin.com/tutti.git commit 7a3d8543fbdebebff2f791cb2f83ffb5a45297fd Author: Kevin Morin <morin@codelutin.com> Date: Thu Dec 17 17:56:51 2015 +0100 vérification que le poids d'un lot n'est pas 0 lors de l'élévation (refs #7720) --- .../src/main/java/fr/ifremer/tutti/util/Weights.java | 8 ++++++++ .../fr/ifremer/tutti/service/catches/WeightComputingService.java | 7 ++++--- .../src/main/resources/i18n/tutti-service_fr_FR.properties | 4 ++-- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/util/Weights.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/util/Weights.java index 87f12d7..52ebf8f 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/util/Weights.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/util/Weights.java @@ -97,6 +97,10 @@ public class Weights { public static int compareWeights(float v0, float v1) { v0 = roundKiloGram(v0); v1 = roundKiloGram(v1); + return compareRawWeights(v0, v1); + } + + public static int compareRawWeights(float v0, float v1) { float delta = v0 - v1; int result; if (delta > 0.00001) { @@ -127,4 +131,8 @@ public class Weights { public static boolean isNotEqualWeight(float v0, float v1) { return compareWeights(v0, v1) != 0; } + + public static boolean isZero(Float weight) { + return compareRawWeights(weight, 0.0f) == 0; + } } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/WeightComputingService.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/WeightComputingService.java index adc8e66..57c0d21 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/WeightComputingService.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/WeightComputingService.java @@ -453,7 +453,7 @@ public class WeightComputingService extends AbstractTuttiService { result = categoryWeight; } } - if (result == null) { + if (result == null || Weights.isZero(result)) { String categoryLabel = getCategoryLabel(batch.getSampleCategoryId()); @@ -644,7 +644,7 @@ public class WeightComputingService extends AbstractTuttiService { result = categoryWeight; } } - if (result == null) { + if (result == null || Weights.isZero(result)) { String categoryLabel = getCategoryLabel(batch.getSampleCategoryId()); @@ -673,7 +673,8 @@ public class WeightComputingService extends AbstractTuttiService { List<MarineLitterBatch> children = rootMarineLitterBatch.getChildren(); for (int i = 0; i < children.size(); i++) { MarineLitterBatch batch = children.get(i); - if (checkWeight && batch.getWeight() == null) { + + if (checkWeight && (batch.getWeight() == null || Weights.isZero(batch.getWeight()))) { throw new TuttiWeightComputingException( t("tutti.validator.warning.marineLitter.weight.required"), MarineLitterBatch.PROPERTY_WEIGHT, diff --git a/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties b/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties index 1e9c39d..d36b2eb 100644 --- a/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties +++ b/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties @@ -249,7 +249,7 @@ tutti.service.operations.computeWeights.error.benthos.incoherentRowWeightCategor tutti.service.operations.computeWeights.error.benthos.incoherentRowWeightFrequency=Benthos - Le poids total des mensurations du lot de %s/%s - %s (%skg) est différent du poids du sous-échantillon (%skg) tutti.service.operations.computeWeights.error.benthos.incoherentSampleWeight=Benthos - Le poids de sous-échantillon du lot %s/%s - %s (%skg) est supérieur au poids du lot (%skg) tutti.service.operations.computeWeights.error.benthos.incoherentTotalSorted=Le poids total Vrac du benthos est inférieur à la somme des poids Vrac triés, inerte trié et vivant non détaillé trié -tutti.service.operations.computeWeights.error.benthos.noWeight=Benthos - Le lot de %s/%s - %s n'a pas de poids +tutti.service.operations.computeWeights.error.benthos.noWeight=Benthos - Le lot de %s/%s - %s n'a pas de poids ou un poids de 0 tutti.service.operations.computeWeights.error.incoherentRowWeightCategory=Le poids de sous-échantillon est renseigné alors que le lot n'a pas de poids. tutti.service.operations.computeWeights.error.incoherentTotal=Le poids total de la capture ne correspond pas à la somme des poids totaux Vrac et Hors Vrac tutti.service.operations.computeWeights.error.marineLitter.incoherentTotal=Le poids total des macro-déchets est inférieur à la somme des poids des macro-déchets saisis @@ -259,7 +259,7 @@ tutti.service.operations.computeWeights.error.species.incoherentRowWeightCategor tutti.service.operations.computeWeights.error.species.incoherentRowWeightFrequency=Espèces - Le poids total des mensurations du lot de %s/%s - %s (%skg) est différent du poids du sous-échantillon (%skg) tutti.service.operations.computeWeights.error.species.incoherentSampleWeight=Espèces - Le poids de sous-échantillon du lot %s/%s - %s (%skg) est supérieur au poids du lot (%skg) tutti.service.operations.computeWeights.error.species.incoherentTotalSorted=Le poids total Vrac des espèces est inférieur à la somme des poids Vrac triés, inerte trié et vivant non détaillé trié -tutti.service.operations.computeWeights.error.species.noWeight=Espèces - Le lot de %s/%s/%s n'a pas de poids +tutti.service.operations.computeWeights.error.species.noWeight=Espèces - Le lot de %s/%s/%s n'a pas de poids ou un poids de 0 tutti.service.operations.computeWeights.error.totalLessThanSortedAndUnsorted=Le poids total de la capture est inférieur à la somme des poids total Vrac et Hors Vrac. tutti.service.operations.exportCatchesReport.error=Erreur lors de la génération du rapport des captures tutti.service.operations.exportCatchesReport.specialRows.benthos.code=BENTHOS -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.