[tutti] branch develop updated (9098e61 -> b47cae5)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository tutti. See http://git.codelutin.com/tutti.git from 9098e61 fixes #5872: [PERFORMANCE] créer une base avec 100 traits pour tester les performances de l'application new b47cae5 fixes #5879 [IMPORT BIGFIN] plusieurs anomalies 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 b47cae501bf387d83584fe6c434adb2bbcf79b2b Author: Kevin Morin <morin@codelutin.com> Date: Tue Sep 30 22:44:32 2014 +0200 fixes #5879 [IMPORT BIGFIN] plusieurs anomalies Summary of changes: .../tutti/service/bigfin/BigfinDataRow.java | 6 +- .../tutti/service/bigfin/BigfinDataRowModel.java | 2 +- .../tutti/service/bigfin/BigfinImportService.java | 97 ++++++++++++---------- .../resources/i18n/tutti-service_en_GB.properties | 1 + .../resources/i18n/tutti-service_fr_FR.properties | 2 +- 5 files changed, 59 insertions(+), 49 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 http://git.codelutin.com/tutti.git commit b47cae501bf387d83584fe6c434adb2bbcf79b2b Author: Kevin Morin <morin@codelutin.com> Date: Tue Sep 30 22:44:32 2014 +0200 fixes #5879 [IMPORT BIGFIN] plusieurs anomalies --- .../tutti/service/bigfin/BigfinDataRow.java | 6 +- .../tutti/service/bigfin/BigfinDataRowModel.java | 2 +- .../tutti/service/bigfin/BigfinImportService.java | 97 ++++++++++++---------- .../resources/i18n/tutti-service_en_GB.properties | 1 + .../resources/i18n/tutti-service_fr_FR.properties | 2 +- 5 files changed, 59 insertions(+), 49 deletions(-) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/BigfinDataRow.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/BigfinDataRow.java index aa9b43f..2d94226 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/BigfinDataRow.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/BigfinDataRow.java @@ -50,7 +50,7 @@ public class BigfinDataRow implements Serializable { protected float length; protected Float weight; protected Species species; - protected Integer station; + protected String station; protected Date dt; protected Signs szClass; protected Signs gender; @@ -88,11 +88,11 @@ public class BigfinDataRow implements Serializable { this.species = species; } - public Integer getStation() { + public String getStation() { return station; } - public void setStation(Integer station) { + public void setStation(String station) { this.station = station; } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/BigfinDataRowModel.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/BigfinDataRowModel.java index cc118dd..d3527a4 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/BigfinDataRowModel.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/BigfinDataRowModel.java @@ -101,7 +101,7 @@ public class BigfinDataRowModel extends TuttiCsvUtil.AbstractTuttiImportModel<Bi }); // n° de la station (non importé mais utile pour contrôle à l'import) - newMandatoryColumn("station", BigfinDataRow.PROPERTY_STATION, Common.INTEGER); + newMandatoryColumn("station", BigfinDataRow.PROPERTY_STATION); // date et heure de l'enregistrement (non importé mais utile pour contrôle à l'import) newMandatoryColumn("Dt", BigfinDataRow.PROPERTY_DT, new Common.DateValue("MM/dd/yy HH:mm")); diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/BigfinImportService.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/BigfinImportService.java index 3e2a6b1..6921500 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/BigfinImportService.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/BigfinImportService.java @@ -187,9 +187,9 @@ public class BigfinImportService extends AbstractTuttiService { // check if the station is the one of the operation // and do not check again a species that has not been recognized before - Integer station = bean.getStation(); + String station = bean.getStation(); Date dt = bean.getDt(); - if (station != null && station.toString().equals(operation.getStationNumber()) + if (station != null && station.equals(operation.getStationNumber()) && dt != null && DateUtils.isSameDay(dt, operation.getGearShootingStartDate())) { if (bean.getSzClass() == null) { @@ -280,6 +280,43 @@ public class BigfinImportService extends AbstractTuttiService { } }); + SampleCategoryModel sampleCategoryModel = context.getSampleCategoryModel(); + List<Integer> samplingOrder = sampleCategoryModel.getSamplingOrder(); + + List<Integer> pmfmIds = new ArrayList<>(); + pmfmIds.add(PmfmId.SORTED_UNSORTED.getValue()); + List<Function<BigfinDataRow, Signs>> functions = new ArrayList<>(); + + // put the size and order in the right order + for (Integer categoryId: samplingOrder) { + if (PmfmId.SIZE_CATEGORY.getValue().equals(categoryId)) { + pmfmIds.add(categoryId); + functions.add(new Function<BigfinDataRow, Signs>() { + @Override + public Signs apply(BigfinDataRow bigfinDataRow) { + Signs result = bigfinDataRow.getSzClass(); + return result; + } + }); + + } else if (PmfmId.SEX.getValue().equals(categoryId)) { + pmfmIds.add(categoryId); + functions.add(new Function<BigfinDataRow, Signs>() { + @Override + public Signs apply(BigfinDataRow bigfinDataRow) { + Signs result = bigfinDataRow.getGender(); + return result; + } + }); + } + } + + List<Category> categories = new ArrayList<>(); + for (int i = 0 ; i < pmfmIds.size() ; i++) { + Category category = new Category(pmfmIds.get(i), i < functions.size() ? functions.get(i) : null); + categories.add(category); + } + // for each species imported for (Species species : rowsBySpecies.keySet()) { @@ -302,43 +339,6 @@ public class BigfinImportService extends AbstractTuttiService { } }); - SampleCategoryModel sampleCategoryModel = context.getSampleCategoryModel(); - List<Integer> samplingOrder = sampleCategoryModel.getSamplingOrder(); - - List<Integer> pmfmIds = new ArrayList<>(); - pmfmIds.add(PmfmId.SORTED_UNSORTED.getValue()); - List<Function<BigfinDataRow, Signs>> functions = new ArrayList<>(); - - // put the size and order in the right order - for (Integer categoryId: samplingOrder) { - if (PmfmId.SIZE_CATEGORY.getValue().equals(categoryId)) { - pmfmIds.add(categoryId); - functions.add(new Function<BigfinDataRow, Signs>() { - @Override - public Signs apply(BigfinDataRow bigfinDataRow) { - Signs result = bigfinDataRow.getSzClass(); - return result; - } - }); - - } else if (PmfmId.SEX.getValue().equals(categoryId)) { - pmfmIds.add(categoryId); - functions.add(new Function<BigfinDataRow, Signs>() { - @Override - public Signs apply(BigfinDataRow bigfinDataRow) { - Signs result = bigfinDataRow.getGender(); - return result; - } - }); - } - } - - List<Category> categories = new ArrayList<>(); - for (int i = 0 ; i < pmfmIds.size() ; i++) { - Category category = new Category(pmfmIds.get(i), i < functions.size() ? functions.get(i) : null); - categories.add(category); - } - Collection<SpeciesBatch> speciesBatches = batchesBySpecies.get(species); Map<Serializable, SpeciesBatch> speciesBatchByVracHorsVrac = Maps.uniqueIndex(speciesBatches, SpeciesBatchs.GET_SAMPLE_CATEGORY_VALUE); @@ -380,11 +380,16 @@ public class BigfinImportService extends AbstractTuttiService { // if it does not exists, create the batch if (batch == null) { - batch = createSpeciesBatch(commonParameter.getSpecies(), - commonParameter.getOperation(), - category.getPmfmId(), - caracteristic, - parentBatch != null ? parentBatch.getId() : null); + if (caracteristic.isNullEquivalent()) { + batch = parentBatch; + + } else { + batch = createSpeciesBatch(commonParameter.getSpecies(), + commonParameter.getOperation(), + category.getPmfmId(), + caracteristic, + parentBatch != null ? parentBatch.getId() : null); + } } else { List<SpeciesBatchFrequency> frequencies = persistenceService.getAllSpeciesBatchFrequency(batch.getId()); @@ -404,9 +409,13 @@ public class BigfinImportService extends AbstractTuttiService { // create the frequencies Integer deletedNb = persistenceService.countFrequenciesNumber( persistenceService.getAllSpeciesBatchFrequency(batch.getId()), false); + List<SpeciesBatchFrequency> frequencies = createFrequencies(batch, bigfinDataRows, commonParameter.getLengthStepPmfm()); + persistenceService.saveSpeciesBatchFrequency(batch.getId(), frequencies); + commonParameter.getResult().incrementNbFrequenciesDeleted(deletedNb != null ? deletedNb : 0); + Integer importedNb = persistenceService.countFrequenciesNumber(frequencies, false); commonParameter.getResult().incrementNbFrequenciesImported(importedNb != null ? importedNb : 0); } diff --git a/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties b/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties index d686b05..bbb970e 100644 --- a/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties +++ b/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties @@ -1,6 +1,7 @@ tutti.error.benthos.not.in.protocol= tutti.error.species.not.in.protocol= tutti.io.mkDir.error= +tutti.pdf.export.missing.species.code= tutti.property.attachment= tutti.property.caracteristic= tutti.property.country= 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 dd2ceb6..a870c3c 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 @@ -1,4 +1,5 @@ tutti.io.mkDir.error=Erreur à la création du dossier %s +tutti.pdf.export.missing.species.code=Une espèce (referenceId %s, nom scientifique %s) n'a ni code campagne, ni code refTax. tutti.property.attachment=Pièce jointe tutti.property.caracteristic=Caractéristique tutti.property.country=Pays @@ -11,7 +12,6 @@ tutti.property.fishingOperationLocation=Lieu tutti.property.fishingOperationNumber=Numéro de trait tutti.property.fractionName=Fraction tutti.property.gear=Engin -tutti.pdf.export.missing.species.code=Une espèce (referenceId %s, nom scientifique %s) n'a ni code campagne, ni code refTax. tutti.property.gearShootingStartDate=Date de début de traîne tutti.property.genusSpecies=Nom scientifique tutti.property.internationalRegistrationCode=Immatriculation internationale (ou nationale si non trouvée) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm