branch develop updated (f932db3 -> 3f97c1a)
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 f932db3 fixes #8328: [TECHN] En l'absence de connexion internet, le message d'erreur de mise à jour doit être plus discret new 3f97c1a fixes #8331: [CAPTURE] permettre de modifier le taxon sur des lots avec mensurations déjà enregistrées 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 3f97c1a1e43ba9555717322236c4fab4dc722309 Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Thu Jul 28 16:12:10 2016 +0200 fixes #8331: [CAPTURE] permettre de modifier le taxon sur des lots avec mensurations déjà enregistrées Summary of changes: .../catches/species/edit/SpeciesBatchRowModel.java | 19 ++++++-- .../species/edit/SpeciesBatchUIHandler.java | 2 +- .../edit/actions/RenameSpeciesBatchAction.java | 52 ++++++++++++++++++++++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 2 +- 4 files changed, 69 insertions(+), 6 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 3f97c1a1e43ba9555717322236c4fab4dc722309 Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Thu Jul 28 16:12:10 2016 +0200 fixes #8331: [CAPTURE] permettre de modifier le taxon sur des lots avec mensurations déjà enregistrées --- .../catches/species/edit/SpeciesBatchRowModel.java | 19 ++++++-- .../species/edit/SpeciesBatchUIHandler.java | 2 +- .../edit/actions/RenameSpeciesBatchAction.java | 52 ++++++++++++++++++++++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 2 +- 4 files changed, 69 insertions(+), 6 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/edit/SpeciesBatchRowModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/edit/SpeciesBatchRowModel.java index 6d861f2..0529dd5 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/edit/SpeciesBatchRowModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/edit/SpeciesBatchRowModel.java @@ -708,14 +708,25 @@ public class SpeciesBatchRowModel extends AbstractTuttiBeanUIModel<SpeciesBatch, } } - public boolean containsIndividualObservations() { + public boolean containsIndividualObservations(boolean withSampleCode) { - boolean result = CollectionUtils.isNotEmpty(getIndividualObservation()); + boolean result; + if (withSampleCode) { + result = false; + for (IndividualObservationBatchRowModel obs : getIndividualObservation()) { + result = obs.getSamplingCode() != null; + if (result) { + break; + } + } + } else { + result = CollectionUtils.isNotEmpty(getIndividualObservation()); + } if (!result && !isChildBatchsEmpty()) { for (SpeciesBatchRowModel childRow : childBatch) { - result = childRow.containsIndividualObservations(); + result = childRow.containsIndividualObservations(withSampleCode); if (result) { break; } @@ -723,6 +734,6 @@ public class SpeciesBatchRowModel extends AbstractTuttiBeanUIModel<SpeciesBatch, } return result; - } + } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/edit/SpeciesBatchUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/edit/SpeciesBatchUIHandler.java index e890545..ef4fd87 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/edit/SpeciesBatchUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/edit/SpeciesBatchUIHandler.java @@ -553,7 +553,7 @@ public class SpeciesBatchUIHandler extends AbstractTuttiBatchTableUIHandler<Spec if (enableRename) { - enableRename = !row.containsIndividualObservations(); + enableRename = !row.containsIndividualObservations(true); } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/edit/actions/RenameSpeciesBatchAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/edit/actions/RenameSpeciesBatchAction.java index 8da4e90..477333d 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/edit/actions/RenameSpeciesBatchAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/edit/actions/RenameSpeciesBatchAction.java @@ -27,6 +27,8 @@ import fr.ifremer.tutti.persistence.entities.data.SampleCategory; import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue; import fr.ifremer.tutti.persistence.entities.referential.Species; import fr.ifremer.tutti.persistence.entities.referential.Speciess; +import fr.ifremer.tutti.persistence.entities.referential.TaxonCache; +import fr.ifremer.tutti.persistence.entities.referential.TaxonCaches; import fr.ifremer.tutti.service.DecoratorService; import fr.ifremer.tutti.service.PersistenceService; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesOrBenthosBatchUISupport; @@ -35,6 +37,7 @@ import fr.ifremer.tutti.ui.swing.content.operation.catches.species.edit.SpeciesB import fr.ifremer.tutti.ui.swing.content.operation.catches.species.edit.SpeciesBatchUI; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.edit.SpeciesBatchUIHandler; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.edit.SpeciesBatchUIModel; +import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.IndividualObservationBatchRowModel; import fr.ifremer.tutti.ui.swing.util.actions.LongActionSupport; import jaxx.runtime.SwingUtil; import org.jdesktop.swingx.JXTable; @@ -42,8 +45,10 @@ import org.jdesktop.swingx.JXTable; import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; +import java.util.Iterator; import java.util.List; import java.util.Map; +import org.apache.commons.lang3.StringUtils; import static org.nuiton.i18n.I18n.t; @@ -97,6 +102,32 @@ public class RenameSpeciesBatchAction extends LongActionSupport<SpeciesBatchUIMo allSpeciesList.removeAll(synonyms); } + if (row.containsIndividualObservations(true)) { + // remove species without same length Step Caracteristic + + TaxonCache taxonCache = TaxonCaches.createSpeciesCacheWithoutVernacularCode(getContext().getPersistenceService(), getDataContext().getProtocol()); + + Species species = row.getSpecies(); + String lengthStepPmfmId = taxonCache.getLengthStepPmfmId(species); + + // remove species with different lengthStepCaracteristic + Iterator<Species> i = speciesList.iterator(); + while(i.hasNext()) { + Species s = i.next(); + if (!StringUtils.equals(lengthStepPmfmId, taxonCache.getLengthStepPmfmId(s))) { + i.remove(); + } + } + + i = allSpeciesList.iterator(); + while(i.hasNext()) { + Species s = i.next(); + if (!StringUtils.equals(lengthStepPmfmId, taxonCache.getLengthStepPmfmId(s))) { + i.remove(); + } + } + } + selectedSpecies = openAddSpeciesDialog(t("tutti.selectSpecies.title"), allSpeciesList, speciesList); if (selectedSpecies != null && !selectedSpecies.isReferenceTaxon()) { @@ -136,6 +167,27 @@ public class RenameSpeciesBatchAction extends LongActionSupport<SpeciesBatchUIMo speciesUsed.remove(row.getSpecies()); changeChildrenSpecies(row, selectedSpecies); speciesUsed.add(selectedSpecies); + + // change species in IndividualObservations + setIndividualObservationSpecies(row, selectedSpecies); + } + + protected void setIndividualObservationSpecies(SpeciesBatchRowModel row, Species species) { + boolean mustSave = false; + for (IndividualObservationBatchRowModel o : row.getIndividualObservation()) { + o.setSpecies(species); + mustSave = true; + } + if (mustSave) { + handler.saveRow(row); + } + + List<SpeciesBatchRowModel> children = row.getChildBatch(); + if (children != null) { + for (SpeciesBatchRowModel c : children) { + setIndividualObservationSpecies(c, species); + } + } } protected void changeChildrenSpecies(SpeciesBatchRowModel row, Species species) { 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 3519009..ba3f68b 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 @@ -1372,7 +1372,7 @@ tutti.editSpeciesBatch.action.removeSubBatch.mnemonic=f tutti.editSpeciesBatch.action.removeSubBatch.tip=Supprimer tous les lots fils du lot sélectionné tutti.editSpeciesBatch.action.renameBatch=Corriger l'espèce tutti.editSpeciesBatch.action.renameBatch.mnemonic=o -tutti.editSpeciesBatch.action.renameBatch.tip=Corriger l'espèce +tutti.editSpeciesBatch.action.renameBatch.tip=Corriger l'espèce (seules les espèces sans code de prélèvement sont corrigeable) tutti.editSpeciesBatch.action.showReport=Consulter le rapport généré tutti.editSpeciesBatch.action.splitBatch=Catégoriser le lot tutti.editSpeciesBatch.action.splitBatch.mnemonic=C -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm