branch feature/6150 updated (f0fc16b -> 5636692)
This is an automated email from the git hooks/post-receive script. New change to branch feature/6150 in repository tutti. See http://git.codelutin.com/tutti.git from f0fc16b refs #6150 add checkboxes and table highlighter new 5636692 sort rows (on sorted + species code), add sorted column, clean report The 1 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 56366922e8342c7ee7b57db3304a2d00ec26e8bc Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Nov 24 17:27:09 2014 +0100 sort rows (on sorted + species code), add sorted column, clean report Summary of changes: .../service/pupitri/PupitriImportService.java | 10 +++------ .../pupitri/report/PupitriImportReportModel.java | 24 ++++++++++++++++++++ .../pupitri/report/PupitriImportReportRow.java | 8 +++++++ .../src/main/resources/ftl/pupitriReport_fr.ftl | 19 ++++++++-------- .../pupitri/PupitriImportServiceEvo6149Test.java | 26 ++++++++++++++++++---- .../src/test/resources/pupitri/evo-6149.car | 4 +++- 6 files changed, 69 insertions(+), 22 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 feature/6150 in repository tutti. See http://git.codelutin.com/tutti.git commit 56366922e8342c7ee7b57db3304a2d00ec26e8bc Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Nov 24 17:27:09 2014 +0100 sort rows (on sorted + species code), add sorted column, clean report --- .../service/pupitri/PupitriImportService.java | 10 +++------ .../pupitri/report/PupitriImportReportModel.java | 24 ++++++++++++++++++++ .../pupitri/report/PupitriImportReportRow.java | 8 +++++++ .../src/main/resources/ftl/pupitriReport_fr.ftl | 19 ++++++++-------- .../pupitri/PupitriImportServiceEvo6149Test.java | 26 ++++++++++++++++++---- .../src/test/resources/pupitri/evo-6149.car | 4 +++- 6 files changed, 69 insertions(+), 22 deletions(-) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/pupitri/PupitriImportService.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/pupitri/PupitriImportService.java index 1bcd0fc..82e99c2 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/pupitri/PupitriImportService.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/pupitri/PupitriImportService.java @@ -207,13 +207,6 @@ public class PupitriImportService extends AbstractTuttiService { for (PupitriSpeciesContext aCatch : result.getCatches()) { - if (!aCatch.isSorted()) { - - //FIXME Check it ok ? - // Le rapport ne contient que les lots vrac - continue; - } - Species species = aCatch.getSpecies(); Species speciesWithVerncularCode = @@ -250,6 +243,7 @@ public class PupitriImportService extends AbstractTuttiService { PupitriImportReportRow reportCatch = PupitriImportReportRow.newRow(code, name, vernacularCode, + aCatch.isSorted(), aCatch.getSignContext(signs)); reportModel.addRow(reportCatch); @@ -258,6 +252,8 @@ public class PupitriImportService extends AbstractTuttiService { } + reportModel.sortRows(); + File reportFile = context.getConfig().newTempFile("puputri-report", ".pdf"); Locale locale = context.getConfig().getI18nLocale(); diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/pupitri/report/PupitriImportReportModel.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/pupitri/report/PupitriImportReportModel.java index 8367d86..afcbaf3 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/pupitri/report/PupitriImportReportModel.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/pupitri/report/PupitriImportReportModel.java @@ -1,11 +1,15 @@ package fr.ifremer.tutti.service.pupitri.report; +import com.google.common.base.Function; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Ordering; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.service.pupitri.PupitriImportResult; import fr.ifremer.tutti.util.Numbers; import fr.ifremer.tutti.util.Weights; import java.util.ArrayList; +import java.util.Collections; import java.util.Date; import java.util.List; import java.util.Set; @@ -99,4 +103,24 @@ public class PupitriImportReportModel { public void addRow(PupitriImportReportRow aCatch) { rows.add(aCatch); } + + public void sortRows() { + + Ordering<PupitriImportReportRow> o1 = Ordering.natural().reverse().onResultOf(new Function<PupitriImportReportRow, Boolean>() { + @Override + public Boolean apply(PupitriImportReportRow input) { + return input.isSorted(); + } + }); + Ordering<PupitriImportReportRow> o2 = Ordering.natural().onResultOf(new Function<PupitriImportReportRow, String>() { + @Override + public String apply(PupitriImportReportRow input) { + return input.getSpeciesCode(); + } + }); + Ordering<PupitriImportReportRow> ordering = Ordering.compound(ImmutableSet.of(o1, o2)); + + Collections.sort(rows, ordering); + + } } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/pupitri/report/PupitriImportReportRow.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/pupitri/report/PupitriImportReportRow.java index 5aef60e..bb74bfa 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/pupitri/report/PupitriImportReportRow.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/pupitri/report/PupitriImportReportRow.java @@ -10,6 +10,8 @@ import fr.ifremer.tutti.service.pupitri.PupitriSignContext; */ public class PupitriImportReportRow { + private boolean sorted; + private String speciesCode; private String speciesName; @@ -29,11 +31,13 @@ public class PupitriImportReportRow { public static PupitriImportReportRow newRow(String code, String name, String vernacularCode, + boolean sorted, PupitriSignContext signContext) { PupitriImportReportRow result = new PupitriImportReportRow(); result.speciesCode = code; result.speciesName = name; result.speciesVernucalCode = vernacularCode; + result.sorted = sorted; result.sign= signContext.getSigns().getSign(); result.sortedWeight= signContext.getWeight(); result.nbBox = signContext.getNbBox(); @@ -54,6 +58,10 @@ public class PupitriImportReportRow { return speciesVernucalCode; } + public boolean isSorted() { + return sorted; + } + public float getSortedWeight() { return sortedWeight; } diff --git a/tutti-service/src/main/resources/ftl/pupitriReport_fr.ftl b/tutti-service/src/main/resources/ftl/pupitriReport_fr.ftl index ef30049..a45d7ca 100644 --- a/tutti-service/src/main/resources/ftl/pupitriReport_fr.ftl +++ b/tutti-service/src/main/resources/ftl/pupitriReport_fr.ftl @@ -71,12 +71,11 @@ </head> <body> -<h1>Rapport détaillé du tri des chalutages</h1> +<h1>Rapport détaillé du tri</h1> <hr/> <p class='operationInfo'> <span class="label">Station :</span> <span class="value">${stationNumber} - ${fishingOperationNumber}</span> - <span class="label">Poche :</span> <span class="value">${multirigAggregation}</span> <span class="label"> du ${gearShootingStartDate?date?string.short} ${gearShootingStartDate?time?string.short} <#if gearShootingEndDate??> @@ -88,12 +87,12 @@ <table> <thead> <tr> - <th colspan="3" class="text">Balance Trunk</th> - <th colspan="3" class="text">Balance Caroussel</th> + <th colspan="3" class="text">Balance Trémie</th> + <th colspan="3" class="text">Balance Carrousel</th> </tr> <tr> <th class="text">Trié</th> - <th class="text">Rejet</th> + <th class="text">Non trié</th> <th class="text">Total</th> <th class="text">Vrac</th> <th class="text">Hors vrac</th> @@ -113,19 +112,18 @@ <br/> <p> - NOTE: Si le rejet est nul, seules les pesées de la balance CAROUSSEL sont prises en compte pour le calcul du poids - total de la capture + NOTE: Les poids affichés sont en kg. </p> -<h4>Liste du tri "Vrac à trier"</h4> <table> <thead> <tr> <th></th> - <th>Espèce</th> + <th>Espèce</th> <!-- trie d'abord tout le vrac sur le code espèce puis tout le HV trié sur le code espèce--> + <th>V / HV</th> <th>Nom scientifique</th> <th>Nom commun</th> - <th>Poids trié (kg)</th> + <th>Poids trié</th> <th>Signe</th> <th>Nb de caisses</th> <th>Petite</th> @@ -138,6 +136,7 @@ <tr> <td><input type="checkbox"/></td> <td>${row.speciesCode}</td> + <td><#if row.sorted??>V<#else>HV</#if></td> <td><em>${row.speciesName}</em></td> <td><#if row.speciesVernucalCode??>${row.speciesVernucalCode}</#if></td> <td class="number">${row.sortedWeight}</td> diff --git a/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceEvo6149Test.java b/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceEvo6149Test.java index 4ba8490..99cf2bb 100644 --- a/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceEvo6149Test.java +++ b/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceEvo6149Test.java @@ -55,10 +55,10 @@ public class PupitriImportServiceEvo6149Test extends PupitryImportServiceTestSup PupitriImportResult pupitriImportResult = service.importPupitri(trunk, carroussel, operation, catchBatch); Assert.assertTrue(pupitriImportResult.isFishingOperationFound()); int nbNotAdded = pupitriImportResult.getNbCarrousselNotImported(); - Assert.assertEquals(0, nbNotAdded); + Assert.assertEquals(1, nbNotAdded); Set<String> notImportedSpeciesIds = pupitriImportResult.getNotImportedSpeciesIds(); Assert.assertNotNull(notImportedSpeciesIds); - Assert.assertTrue(notImportedSpeciesIds.isEmpty()); + Assert.assertTrue(notImportedSpeciesIds.contains("TRAC-BIZ")); // copy result file into temp directory to check it after the test ends String reportAttachmentId = pupitriImportResult.getReportAttachmentId(); @@ -68,18 +68,20 @@ public class PupitriImportServiceEvo6149Test extends PupitryImportServiceTestSup log.info("Generated report copied to " + destFile.getPath()); BatchContainer<SpeciesBatch> rootSpeciesBatchAfter = persistenceService.getRootSpeciesBatch(operation.getId(), false); - Assert.assertEquals(2, rootSpeciesBatchAfter.sizeChildren()); + Assert.assertEquals(3, rootSpeciesBatchAfter.sizeChildren()); /* Melange total 100Kg / sorted 50Kg -> ratio = x2 MERL-MCC un lot G (50Kg) MERL-MCC un lot P (25x2 -> 50Kg) TRAC-TRU un lot VRAC (25x2 -> 50Kg) + ENGR-ENC un lot HV 75Kg */ Set<Integer> expectedSpecies = Sets.newHashSet( 16994, // MERL-MCC - 17116 // TRAC-TRU + 17116, // TRAC-TRU + 16816 // ENGR-ENC ); @@ -87,6 +89,11 @@ public class PupitriImportServiceEvo6149Test extends PupitryImportServiceTestSup PmfmId.SORTED_UNSORTED.getValue(), QualitativeValueId.SORTED_VRAC.getValue()); + Predicate<SpeciesAbleBatch> batchHorsVracPredicate = SpeciesAbleBatchs.newSpeciesAbleBatchCategoryPredicate( + PmfmId.SORTED_UNSORTED.getValue(), + QualitativeValueId.SORTED_HORS_VRAC.getValue()); + + Predicate<SpeciesAbleBatch> bigVracPredicate = SpeciesAbleBatchs.newSpeciesAbleBatchCategoryPredicate( PmfmId.SIZE_CATEGORY.getValue(), QualitativeValueId.SIZE_BIG.getValue()); @@ -108,6 +115,15 @@ public class PupitriImportServiceEvo6149Test extends PupitryImportServiceTestSup log.info("Species : " + speciesId + " : " + speciesDecorator.toString(species)); } + if (16816 == speciesId) { + + // un lot HV 75Kg + Assert.assertTrue(batchHorsVracPredicate.apply(speciesBatch)); + Assert.assertTrue(speciesBatch.isChildBatchsEmpty()); + Assert.assertEquals(75, speciesBatch.getSampleCategoryWeight(), 0.001); + continue; + + } if (16994 == speciesId) { // un lot VRAC (sans poids) avec deux fils @@ -145,6 +161,8 @@ public class PupitriImportServiceEvo6149Test extends PupitryImportServiceTestSup Assert.fail("le lot " + child + " doit etre une categorisation Taille Gros ou petit"); } } + + continue; } if (17116 == speciesId) { diff --git a/tutti-service/src/test/resources/pupitri/evo-6149.car b/tutti-service/src/test/resources/pupitri/evo-6149.car index 0478192..651dc19 100644 --- a/tutti-service/src/test/resources/pupitri/evo-6149.car +++ b/tutti-service/src/test/resources/pupitri/evo-6149.car @@ -3,4 +3,6 @@ $TSMES,27/11/13,13:16:26.243,BLCAR, 0,A,1,002,MELA-NGE,0,VAT,0025.0, $TSMES,27/11/13,13:16:41.355,BLCAR, 0,A,1,002,MELA-NGE,0,VAT,0050.0, $TSMES,27/11/13,13:28:27.717,BLCAR, 0,A,1,002,MERL-MCC,G,VAT,0100.0, (du merlu gros) $TSMES,27/11/13,13:30:30.398,BLCAR, 0,A,1,001,MERL-MCC,T,VAT,0025.0, (du merlu petit) -$TSMES,27/11/13,13:31:17.004,BLCAR, 0,A,1,001,TRAC-TRU,T,VAT,0025.0, (du trac-tru en melange) -> lot unique \ No newline at end of file +$TSMES,27/11/13,13:31:17.004,BLCAR, 0,A,1,001,TRAC-TRU,T,VAT,0025.0, (du trac-tru en melange) -> lot unique +$TSMES,27/11/13,13:31:17.004,BLCAR, 0,A,1,001,TRAC-BIZ,T,VAT,0025.0, (espece non connue) +$TSMES,27/11/13,13:31:17.004,BLCAR, 0,A,1,001,ENGR-ENC,0,HOV,0075.0, (HV) \ No newline at end of file -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm