mailman.cloud.codelutin.com
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

Observe-commits

Thread Start a new thread
Download
Threads by month
  • ----- 2026 -----
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2018 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2017 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2016 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2015 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2014 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2013 -----
  • December
  • November
  • October
  • September
observe-commits@list.forge.codelutin.com

December 2022

  • 1 participants
  • 58 discussions
[Git][ultreiaio/ird-observe][develop-9.0.x] 4 commits: Report - Ajouter la valeur nulle possible sur la méthode computeIndexList...
by Tony CHEMIT (@tchemit) 05 Dec '22

05 Dec '22
Tony CHEMIT pushed to branch develop-9.0.x at ultreiaio / ird-observe Commits: 6afd1b3b by Tony Chemit at 2022-12-05T15:06:26+01:00 Report - Ajouter la valeur nulle possible sur la méthode computeIndexList (utilisé pour l&#39;opération ComputeDynamicHeader et ExecuteRequestAndReorganizeCountByRepeatVariable) - - - - - 4fb73312 by Tony Chemit at 2022-12-05T15:06:42+01:00 Report - Adaptation du report Dénombrement des captures par devenir, filtrés par groupe pour y inclure tous les devenirs existants dans le référentiel - - - - - 1ef23720 by Tony Chemit at 2022-12-05T15:06:53+01:00 Report - Adaptation du report Distribution des tailles par espèces et type de mesure pour y inclure tous les devenirs existants dans le référentiel - - - - - be2abbc1 by Tony Chemit at 2022-12-05T15:45:30+01:00 Merge branch &#39;feature/issue_2553&#39; into develop-9.0.x Rapport Observations - Dénombrement des captures par devenir, filtrés par groupe - Closes #2553 - - - - - 7 changed files: - core/api/dto/src/main/resources/observe-reports.properties - core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-psObservationCatchByGroup.properties - core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-psObservationLengthsDistribution.properties - toolkit/api/src/main/java/fr/ird/observe/dto/report/ReportBuilder.java - toolkit/api/src/main/java/fr/ird/observe/dto/report/ReportVariable.java - toolkit/api/src/main/java/fr/ird/observe/dto/report/operations/ComputeDynamicHeader.java - toolkit/api/src/main/java/fr/ird/observe/spi/json/toolkit/ReportVariableAdapter.java Changes: ===================================== core/api/dto/src/main/resources/observe-reports.properties ===================================== @@ -890,7 +890,7 @@ report.psObservationCatch.request.3.repeat=speciesId|column ## Captures par groupe d'espèces ################################################################################ report.psObservationCatchByGroup.modelType=PS -report.psObservationCatchByGroup.name=Observations - Dénombrement des captures par devenir, filtrés par groupe +report.psObservationCatchByGroup.name=Observations - Dénombrement des captures par type de banc et devenir, filtrés par groupe report.psObservationCatchByGroup.description=Afficher les nombres de captures par groupe d'espèce selon le type de banc et le devenir report.psObservationCatchByGroup.variable.speciesGroup=fr.ird.observe.dto.referential.common.SpeciesGroupDto|\ Select distinct sg \ @@ -914,16 +914,9 @@ Join ca.species e with e.speciesGroup.id = :speciesGroup \ Where t.id In :tripId \ Order By e.homeId report.psObservationCatchByGroup.repeatVariable.2.speciesFate=fr.ird.observe.entities.referential.ps.common.SpeciesFate|\ -Select distinct sf \ -From TripImpl t \ -Join t.routeObs r \ -Join r.activity a \ -Join a.set c \ -Join c.catches ca with ca.totalCount Is Not Null \ -Join ca.species e with e.id In :species \ -Join ca.speciesFate sf \ -Where t.id In :tripId \ -Order by sf.code +Select sf \ +From SpeciesFateImpl sf \ +Order by sf.discard, sf.code report.psObservationCatchByGroup.request.1=0,0|row|\ Select \ concat(\ @@ -953,7 +946,7 @@ Join ca.species s with s.id In :species \ Join ca.speciesFate sf with sf.id In :speciesFate \ Where m.id In :tripId \ Group by s, sf \ -Order By s.homeId, sf.code +Order By s.homeId report.psObservationCatchByGroup.operations.2=ComputeDynamicHeader:Espèce,Total BL,Total BO|speciesFate report.psObservationCatchByGroup.operations.3=SumIntRow:1|3 report.psObservationCatchByGroup.operations.4=SumIntColumn:1|1 @@ -979,16 +972,10 @@ Join r.activity a \ Join a.set.sample nts \ Join nts.sampleMeasure ntl \ Where t.id In :tripId -report.psObservationLengthsDistribution.repeatVariable.speciesFate=fr.ird.observe.entities.referential.ps.common.SpeciesFate|\ -Select distinct sf \ -From TripImpl t \ -Join t.routeObs r \ -Join r.activity a \ -Join a.set.sample nts \ -Join nts.sampleMeasure ntl with ntl.species.id = :species And ntl.sizeMeasureType.id = :sizeMeasureType \ -Left Join ntl.speciesFate sf \ -Where t.id In :tripId \ -Order By sf.code +report.psObservationLengthsDistribution.repeatVariable.speciesFate=fr.ird.observe.entities.referential.ps.common.SpeciesFate|true|\ +Select sf \ +From SpeciesFateImpl sf \ +Order by sf.discard, sf.code report.psObservationLengthsDistribution.repeatVariable.length=java.lang.Float|\ Select distinct ntl.length \ From TripImpl t \ @@ -1006,7 +993,7 @@ Join t.routeObs r \ Join r.activity a \ Join a.set.sample nts \ Join nts.sampleMeasure ntl With ntl.species.id = :species And ntl.sizeMeasureType.id = :sizeMeasureType \ -Left Join ntl.speciesFate sf with sf.id In :speciesFate \ +Left Join ntl.speciesFate sf \ Where t.id In :tripId \ Group By ntl.length, sf \ Order By ntl.length ===================================== core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-psObservationCatchByGroup.properties ===================================== @@ -19,14 +19,14 @@ # <http://www.gnu.org/licenses/gpl-3.0.html>. # #L% ### -syntax.name=Observations - Dénombrement des captures par devenir, filtrés par groupe +syntax.name=Observations - Dénombrement des captures par type de banc et devenir, filtrés par groupe syntax.description=Afficher les nombres de captures par groupe d'espèce selon le type de banc et le devenir syntax.rows=-1 syntax.columns=-1 syntax.columnsHeader= syntax.rowsHeader= syntax.nbRequests=1 -result.columns=4 +result.columns=19 result.rows=2 -result.0=Espèce^Total BL^Total BO^Echappe du filet (pour requin-baleine et cétacés) -result.1=[FAO]ALV [sc]Alopias vulpinus [fr]Renard^0^3^3 +result.0=Espèce^Total BL^Total BO^Ailerons seulements^Partiellement conservé (ex: ailerons de requin, poisson séché)^Autres (à préciser dans les notes)^Conservé pour raisons scientifiques^Conservé pour le marché local ou poisson séché/salé à bord^Conservé à destination de la conserverie^Utilisé en cuisine du bord^Echappe du filet (pour requin-baleine et cétacés)^Rejeté, statut non observé^Rejeté suffocant^Rejeté suffocant blessé^Sortie vivant du filet (pour requin-baleine et cétacés)^Sortie mort du filet (pour requin-baleine et cétacés)^Rejeté vivant^Rejeté mort^Total +result.1=[FAO]ALV [sc]Alopias vulpinus [fr]Renard^0^3^null^null^null^null^null^null^null^3^null^null^null^null^null^null^null^3 ===================================== core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-psObservationLengthsDistribution.properties ===================================== @@ -26,10 +26,10 @@ syntax.columns=-1 syntax.columnsHeader= syntax.rowsHeader= syntax.nbRequests=0 -result.columns=2 +result.columns=18 result.rows=5 -result.0=Classe de taille (cm)^Aucun -result.1=50.0^2 -result.2=54.0^1 -result.3=68.0^1 -result.4=70.0^1 +result.0=Classe de taille (cm)^Ailerons seulements^Partiellement conservé (ex: ailerons de requin, poisson séché)^Autres (à préciser dans les notes)^Conservé pour raisons scientifiques^Conservé pour le marché local ou poisson séché/salé à bord^Conservé à destination de la conserverie^Utilisé en cuisine du bord^Echappe du filet (pour requin-baleine et cétacés)^Rejeté, statut non observé^Rejeté suffocant^Rejeté suffocant blessé^Sortie vivant du filet (pour requin-baleine et cétacés)^Sortie mort du filet (pour requin-baleine et cétacés)^Rejeté vivant^Rejeté mort^Aucun^Total +result.1=50.0^null^null^null^null^null^null^null^null^null^null^null^null^null^null^null^2^2 +result.2=54.0^null^null^null^null^null^null^null^null^null^null^null^null^null^null^null^1^1 +result.3=68.0^null^null^null^null^null^null^null^null^null^null^null^null^null^null^null^1^1 +result.4=70.0^null^null^null^null^null^null^null^null^null^null^null^null^null^null^null^1^1 ===================================== toolkit/api/src/main/java/fr/ird/observe/dto/report/ReportBuilder.java ===================================== @@ -345,7 +345,7 @@ public class ReportBuilder { String typeStr = parts[0].trim(); String request = parts[1].trim(); Class<?> type = Objects2.forName(typeStr); - ReportVariable<?> variable = new ReportVariable<>(id, type, request); + ReportVariable<?> variable = new ReportVariable<>(id, type, request, false); log.debug(String.format("Detects a variable : [%s:%s] = %s (type = %s)", reportName, variable.getName(), variable.getRequest(), variable.getType().getName())); result.add(variable); itr.remove(); @@ -381,13 +381,21 @@ public class ReportBuilder { ids.add(id); String[] parts = operations.split("\\|"); - if (parts.length != 2) { - throw new IllegalArgumentException("La définition d'une variable de répétition doit etre de la forme 'type|hql' mais est : " + operations); + if (parts.length != 2 && parts.length != 3) { + throw new IllegalArgumentException("La définition d'une variable de répétition doit etre de la forme 'type|hql' ou 'type|true|hql' mais est : " + operations); } String typeStr = parts[0].trim(); - String request = parts[1].trim(); + boolean addNullValue; + String request; + if (parts.length == 3) { + addNullValue = Boolean.parseBoolean(parts[1]); + request = parts[2].trim(); + } else { + addNullValue = false; + request = parts[1].trim(); + } Class<?> type = Objects2.forName(typeStr); - ReportVariable<?> variable = new ReportVariable<>(id, type, request); + ReportVariable<?> variable = new ReportVariable<>(id, type, request, addNullValue); log.debug(String.format("Detects a variable : [%s:%s] = %s (type = %s)", reportName, variable.getName(), variable.getRequest(), variable.getType().getName())); result.add(variable); itr.remove(); ===================================== toolkit/api/src/main/java/fr/ird/observe/dto/report/ReportVariable.java ===================================== @@ -49,6 +49,7 @@ public class ReportVariable<V> implements Serializable, JsonAware { public final static String PROPERTY_VALUES = "values"; public final static String PROPERTY_SELECTED_VALUE = "selectedValue"; + public final static String PROPERTY_ADD_NULL_VALUE = "addNullValue"; private static final long serialVersionUID = 1L; @@ -58,14 +59,17 @@ public class ReportVariable<V> implements Serializable, JsonAware { protected final String request; + protected final boolean addNullValue; + protected Set<V> values; protected V selectedValue; - public ReportVariable(String name, Class<V> type, String request) { + public ReportVariable(String name, Class<V> type, String request, boolean addNullValue) { this.name = name; this.type = type; this.request = request; + this.addNullValue = addNullValue; } public String getName() { @@ -96,11 +100,15 @@ public class ReportVariable<V> implements Serializable, JsonAware { this.selectedValue = selectedValue; } + public boolean isAddNullValue() { + return addNullValue; + } + public List<String> computeIndexList() { Set<V> tmp = new LinkedHashSet<>(values); boolean useNullValue = tmp.remove(null); List<String> result = tmp.stream().map(s -> s instanceof ToolkitId ? ((ToolkitId) s).getId() : String.valueOf(s)).collect(Collectors.toList()); - if (useNullValue) { + if (useNullValue || addNullValue) { result.add("null"); } return result; ===================================== toolkit/api/src/main/java/fr/ird/observe/dto/report/operations/ComputeDynamicHeader.java ===================================== @@ -28,6 +28,7 @@ import fr.ird.observe.dto.report.DataMatrix; import fr.ird.observe.dto.report.Report; import fr.ird.observe.dto.report.ReportOperationConsumer; import fr.ird.observe.dto.report.ReportRequestExecutor; +import fr.ird.observe.dto.report.ReportVariable; import java.util.Set; @@ -36,6 +37,8 @@ import java.util.Set; * <p> * You can set as parameters an array of fixed column names + a repeat variable to complete the header. * <p> + * <b>Note:</b> The {@code null} value will be added at the last column (TODO maybe should we be able to customize this in the operation parameters...) + * <p> * Example: * <code>Col1,Col2,Col3|repeatVariableName</code> * <p> @@ -57,7 +60,8 @@ public class ComputeDynamicHeader implements ReportOperationConsumer { } String[] fixedColumnNames = split[0].split("\\s*,\\s*"); String repeatVariableName = split[1].trim(); - Set<?> repeatVariableValues = report.getRepeatVariable(repeatVariableName).getValues(); + ReportVariable<Object> repeatVariable1 = report.getRepeatVariable(repeatVariableName); + Set<?> repeatVariableValues = repeatVariable1.getValues(); int columnIndex = 0; DataMatrix tmpMatrix = createTmpMatrix(0, 0, incoming.getWidth(), 1); boolean useNullRepeatVariableValue = false; @@ -75,7 +79,7 @@ public class ComputeDynamicHeader implements ReportOperationConsumer { } } } - if (useNullRepeatVariableValue) { + if (useNullRepeatVariableValue || repeatVariable1.isAddNullValue()) { tmpMatrix.setValue(columnIndex, 0, "Aucun"); } incoming.setY(1); ===================================== toolkit/api/src/main/java/fr/ird/observe/spi/json/toolkit/ReportVariableAdapter.java ===================================== @@ -59,8 +59,9 @@ public class ReportVariableAdapter implements JsonDeserializer<ReportVariable<?> String name = context.deserialize(reportVariableJson.get(ReportVariable.PROPERTY_NAME), String.class); Class<?> type = context.deserialize(reportVariableJson.get(ReportVariable.PROPERTY_TYPE), Class.class); String request = context.deserialize(reportVariableJson.get(ReportVariable.PROPERTY_REQUEST), String.class); + boolean addNullValue = context.deserialize(reportVariableJson.get(ReportVariable.PROPERTY_ADD_NULL_VALUE), boolean.class); - ReportVariable reportVariable = new ReportVariable<>(name, type, request); + ReportVariable reportVariable = new ReportVariable<>(name, type, request, addNullValue); Class<?> valueType = type; View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/63e0cfb5c2506990b1f18c1b… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/63e0cfb5c2506990b1f18c1b… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 4 commits: Report - Ajouter la valeur nulle possible sur la méthode computeIndexList...
by Tony CHEMIT (@tchemit) 05 Dec '22

05 Dec '22
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: b2b08d40 by Tony Chemit at 2022-12-05T15:46:34+01:00 Report - Ajouter la valeur nulle possible sur la méthode computeIndexList (utilisé pour l&#39;opération ComputeDynamicHeader et ExecuteRequestAndReorganizeCountByRepeatVariable) - - - - - 5f2d8458 by Tony Chemit at 2022-12-05T15:46:58+01:00 Report - Adaptation du report Dénombrement des captures par devenir, filtrés par groupe pour y inclure tous les devenirs existants dans le référentiel - - - - - af99d895 by Tony Chemit at 2022-12-05T15:46:58+01:00 Report - Adaptation du report Distribution des tailles par espèces et type de mesure pour y inclure tous les devenirs existants dans le référentiel - - - - - eaebe74a by Tony Chemit at 2022-12-05T16:22:35+01:00 Merge branch &#39;feature/issue_2553&#39; into develop Rapport Observations - Dénombrement des captures par devenir, filtrés par groupe - Closes #2553 - - - - - 7 changed files: - core/api/dto/src/main/resources/observe-reports.properties - core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-psObservationCatchByGroup.properties - core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-psObservationLengthsDistribution.properties - toolkit/api/src/main/java/fr/ird/observe/dto/report/ReportBuilder.java - toolkit/api/src/main/java/fr/ird/observe/dto/report/ReportVariable.java - toolkit/api/src/main/java/fr/ird/observe/dto/report/operations/ComputeDynamicHeader.java - toolkit/api/src/main/java/fr/ird/observe/spi/json/toolkit/ReportVariableAdapter.java Changes: ===================================== core/api/dto/src/main/resources/observe-reports.properties ===================================== @@ -890,7 +890,7 @@ report.psObservationCatch.request.3.repeat=speciesId|column ## Captures par groupe d'espèces ################################################################################ report.psObservationCatchByGroup.modelType=PS -report.psObservationCatchByGroup.name=Observations - Dénombrement des captures par devenir, filtrés par groupe +report.psObservationCatchByGroup.name=Observations - Dénombrement des captures par type de banc et devenir, filtrés par groupe report.psObservationCatchByGroup.description=Afficher les nombres de captures par groupe d'espèce selon le type de banc et le devenir report.psObservationCatchByGroup.variable.speciesGroup=fr.ird.observe.dto.referential.common.SpeciesGroupDto|\ Select distinct sg \ @@ -914,16 +914,9 @@ Join ca.species e with e.speciesGroup.id = :speciesGroup \ Where t.id In :tripId \ Order By e.homeId report.psObservationCatchByGroup.repeatVariable.2.speciesFate=fr.ird.observe.entities.referential.ps.common.SpeciesFate|\ -Select distinct sf \ -From TripImpl t \ -Join t.routeObs r \ -Join r.activity a \ -Join a.set c \ -Join c.catches ca with ca.totalCount Is Not Null \ -Join ca.species e with e.id In :species \ -Join ca.speciesFate sf \ -Where t.id In :tripId \ -Order by sf.code +Select sf \ +From SpeciesFateImpl sf \ +Order by sf.discard, sf.code report.psObservationCatchByGroup.request.1=0,0|row|\ Select \ concat(\ @@ -953,7 +946,7 @@ Join ca.species s with s.id In :species \ Join ca.speciesFate sf with sf.id In :speciesFate \ Where m.id In :tripId \ Group by s, sf \ -Order By s.homeId, sf.code +Order By s.homeId report.psObservationCatchByGroup.operations.2=ComputeDynamicHeader:Espèce,Total BL,Total BO|speciesFate report.psObservationCatchByGroup.operations.3=SumIntRow:1|3 report.psObservationCatchByGroup.operations.4=SumIntColumn:1|1 @@ -979,16 +972,10 @@ Join r.activity a \ Join a.set.sample nts \ Join nts.sampleMeasure ntl \ Where t.id In :tripId -report.psObservationLengthsDistribution.repeatVariable.speciesFate=fr.ird.observe.entities.referential.ps.common.SpeciesFate|\ -Select distinct sf \ -From TripImpl t \ -Join t.routeObs r \ -Join r.activity a \ -Join a.set.sample nts \ -Join nts.sampleMeasure ntl with ntl.species.id = :species And ntl.sizeMeasureType.id = :sizeMeasureType \ -Left Join ntl.speciesFate sf \ -Where t.id In :tripId \ -Order By sf.code +report.psObservationLengthsDistribution.repeatVariable.speciesFate=fr.ird.observe.entities.referential.ps.common.SpeciesFate|true|\ +Select sf \ +From SpeciesFateImpl sf \ +Order by sf.discard, sf.code report.psObservationLengthsDistribution.repeatVariable.length=java.lang.Float|\ Select distinct ntl.length \ From TripImpl t \ @@ -1006,7 +993,7 @@ Join t.routeObs r \ Join r.activity a \ Join a.set.sample nts \ Join nts.sampleMeasure ntl With ntl.species.id = :species And ntl.sizeMeasureType.id = :sizeMeasureType \ -Left Join ntl.speciesFate sf with sf.id In :speciesFate \ +Left Join ntl.speciesFate sf \ Where t.id In :tripId \ Group By ntl.length, sf \ Order By ntl.length ===================================== core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-psObservationCatchByGroup.properties ===================================== @@ -19,14 +19,14 @@ # <http://www.gnu.org/licenses/gpl-3.0.html>. # #L% ### -syntax.name=Observations - Dénombrement des captures par devenir, filtrés par groupe +syntax.name=Observations - Dénombrement des captures par type de banc et devenir, filtrés par groupe syntax.description=Afficher les nombres de captures par groupe d'espèce selon le type de banc et le devenir syntax.rows=-1 syntax.columns=-1 syntax.columnsHeader= syntax.rowsHeader= syntax.nbRequests=1 -result.columns=4 +result.columns=19 result.rows=2 -result.0=Espèce^Total BL^Total BO^Echappe du filet (pour requin-baleine et cétacés) -result.1=[FAO]ALV [sc]Alopias vulpinus [fr]Renard^0^3^3 \ No newline at end of file +result.0=Espèce^Total BL^Total BO^Ailerons seulements^Partiellement conservé (ex: ailerons de requin, poisson séché)^Autres (à préciser dans les notes)^Conservé pour raisons scientifiques^Conservé pour le marché local ou poisson séché/salé à bord^Conservé à destination de la conserverie^Utilisé en cuisine du bord^Echappe du filet (pour requin-baleine et cétacés)^Rejeté, statut non observé^Rejeté suffocant^Rejeté suffocant blessé^Sortie vivant du filet (pour requin-baleine et cétacés)^Sortie mort du filet (pour requin-baleine et cétacés)^Rejeté vivant^Rejeté mort^Total +result.1=[FAO]ALV [sc]Alopias vulpinus [fr]Renard^0^3^null^null^null^null^null^null^null^3^null^null^null^null^null^null^null^3 ===================================== core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-psObservationLengthsDistribution.properties ===================================== @@ -26,10 +26,10 @@ syntax.columns=-1 syntax.columnsHeader= syntax.rowsHeader= syntax.nbRequests=0 -result.columns=2 +result.columns=18 result.rows=5 -result.0=Classe de taille (cm)^Aucun -result.1=50.0^2 -result.2=54.0^1 -result.3=68.0^1 -result.4=70.0^1 +result.0=Classe de taille (cm)^Ailerons seulements^Partiellement conservé (ex: ailerons de requin, poisson séché)^Autres (à préciser dans les notes)^Conservé pour raisons scientifiques^Conservé pour le marché local ou poisson séché/salé à bord^Conservé à destination de la conserverie^Utilisé en cuisine du bord^Echappe du filet (pour requin-baleine et cétacés)^Rejeté, statut non observé^Rejeté suffocant^Rejeté suffocant blessé^Sortie vivant du filet (pour requin-baleine et cétacés)^Sortie mort du filet (pour requin-baleine et cétacés)^Rejeté vivant^Rejeté mort^Aucun^Total +result.1=50.0^null^null^null^null^null^null^null^null^null^null^null^null^null^null^null^2^2 +result.2=54.0^null^null^null^null^null^null^null^null^null^null^null^null^null^null^null^1^1 +result.3=68.0^null^null^null^null^null^null^null^null^null^null^null^null^null^null^null^1^1 +result.4=70.0^null^null^null^null^null^null^null^null^null^null^null^null^null^null^null^1^1 ===================================== toolkit/api/src/main/java/fr/ird/observe/dto/report/ReportBuilder.java ===================================== @@ -345,7 +345,7 @@ public class ReportBuilder { String typeStr = parts[0].trim(); String request = parts[1].trim(); Class<?> type = Objects2.forName(typeStr); - ReportVariable<?> variable = new ReportVariable<>(id, type, request); + ReportVariable<?> variable = new ReportVariable<>(id, type, request, false); log.debug(String.format("Detects a variable : [%s:%s] = %s (type = %s)", reportName, variable.getName(), variable.getRequest(), variable.getType().getName())); result.add(variable); itr.remove(); @@ -381,13 +381,21 @@ public class ReportBuilder { ids.add(id); String[] parts = operations.split("\\|"); - if (parts.length != 2) { - throw new IllegalArgumentException("La définition d'une variable de répétition doit etre de la forme 'type|hql' mais est : " + operations); + if (parts.length != 2 && parts.length != 3) { + throw new IllegalArgumentException("La définition d'une variable de répétition doit etre de la forme 'type|hql' ou 'type|true|hql' mais est : " + operations); } String typeStr = parts[0].trim(); - String request = parts[1].trim(); + boolean addNullValue; + String request; + if (parts.length == 3) { + addNullValue = Boolean.parseBoolean(parts[1]); + request = parts[2].trim(); + } else { + addNullValue = false; + request = parts[1].trim(); + } Class<?> type = Objects2.forName(typeStr); - ReportVariable<?> variable = new ReportVariable<>(id, type, request); + ReportVariable<?> variable = new ReportVariable<>(id, type, request, addNullValue); log.debug(String.format("Detects a variable : [%s:%s] = %s (type = %s)", reportName, variable.getName(), variable.getRequest(), variable.getType().getName())); result.add(variable); itr.remove(); ===================================== toolkit/api/src/main/java/fr/ird/observe/dto/report/ReportVariable.java ===================================== @@ -49,6 +49,7 @@ public class ReportVariable<V> implements Serializable, JsonAware { public final static String PROPERTY_VALUES = "values"; public final static String PROPERTY_SELECTED_VALUE = "selectedValue"; + public final static String PROPERTY_ADD_NULL_VALUE = "addNullValue"; private static final long serialVersionUID = 1L; @@ -58,14 +59,17 @@ public class ReportVariable<V> implements Serializable, JsonAware { protected final String request; + protected final boolean addNullValue; + protected Set<V> values; protected V selectedValue; - public ReportVariable(String name, Class<V> type, String request) { + public ReportVariable(String name, Class<V> type, String request, boolean addNullValue) { this.name = name; this.type = type; this.request = request; + this.addNullValue = addNullValue; } public String getName() { @@ -96,11 +100,15 @@ public class ReportVariable<V> implements Serializable, JsonAware { this.selectedValue = selectedValue; } + public boolean isAddNullValue() { + return addNullValue; + } + public List<String> computeIndexList() { Set<V> tmp = new LinkedHashSet<>(values); boolean useNullValue = tmp.remove(null); List<String> result = tmp.stream().map(s -> s instanceof ToolkitId ? ((ToolkitId) s).getId() : String.valueOf(s)).collect(Collectors.toList()); - if (useNullValue) { + if (useNullValue || addNullValue) { result.add("null"); } return result; ===================================== toolkit/api/src/main/java/fr/ird/observe/dto/report/operations/ComputeDynamicHeader.java ===================================== @@ -28,6 +28,7 @@ import fr.ird.observe.dto.report.DataMatrix; import fr.ird.observe.dto.report.Report; import fr.ird.observe.dto.report.ReportOperationConsumer; import fr.ird.observe.dto.report.ReportRequestExecutor; +import fr.ird.observe.dto.report.ReportVariable; import java.util.Set; @@ -36,6 +37,8 @@ import java.util.Set; * <p> * You can set as parameters an array of fixed column names + a repeat variable to complete the header. * <p> + * <b>Note:</b> The {@code null} value will be added at the last column (TODO maybe should we be able to customize this in the operation parameters...) + * <p> * Example: * <code>Col1,Col2,Col3|repeatVariableName</code> * <p> @@ -57,7 +60,8 @@ public class ComputeDynamicHeader implements ReportOperationConsumer { } String[] fixedColumnNames = split[0].split("\\s*,\\s*"); String repeatVariableName = split[1].trim(); - Set<?> repeatVariableValues = report.getRepeatVariable(repeatVariableName).getValues(); + ReportVariable<Object> repeatVariable1 = report.getRepeatVariable(repeatVariableName); + Set<?> repeatVariableValues = repeatVariable1.getValues(); int columnIndex = 0; DataMatrix tmpMatrix = createTmpMatrix(0, 0, incoming.getWidth(), 1); boolean useNullRepeatVariableValue = false; @@ -75,7 +79,7 @@ public class ComputeDynamicHeader implements ReportOperationConsumer { } } } - if (useNullRepeatVariableValue) { + if (useNullRepeatVariableValue || repeatVariable1.isAddNullValue()) { tmpMatrix.setValue(columnIndex, 0, "Aucun"); } incoming.setY(1); ===================================== toolkit/api/src/main/java/fr/ird/observe/spi/json/toolkit/ReportVariableAdapter.java ===================================== @@ -59,8 +59,9 @@ public class ReportVariableAdapter implements JsonDeserializer<ReportVariable<?> String name = context.deserialize(reportVariableJson.get(ReportVariable.PROPERTY_NAME), String.class); Class<?> type = context.deserialize(reportVariableJson.get(ReportVariable.PROPERTY_TYPE), Class.class); String request = context.deserialize(reportVariableJson.get(ReportVariable.PROPERTY_REQUEST), String.class); + boolean addNullValue = context.deserialize(reportVariableJson.get(ReportVariable.PROPERTY_ADD_NULL_VALUE), boolean.class); - ReportVariable reportVariable = new ReportVariable<>(name, type, request); + ReportVariable reportVariable = new ReportVariable<>(name, type, request, addNullValue); Class<?> valueType = type; View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/76374c4a9dbe2646eb6c419e… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/76374c4a9dbe2646eb6c419e… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop-9.0.x] Gestion des codes AVDTH 40 et 41 par le migrateur AVDTH - Closes #2568
by Tony CHEMIT (@tchemit) 05 Dec '22

05 Dec '22
Tony CHEMIT pushed to branch develop-9.0.x at ultreiaio / ird-observe Commits: 63e0cfb5 by Tony Chemit at 2022-12-05T13:55:28+01:00 Gestion des codes AVDTH 40 et 41 par le migrateur AVDTH - Closes #2568 - - - - - 5 changed files: - core/persistence/resources/src/main/java/fr/ird/observe/persistence/avdth/data/ImportReferentialContext.java - core/persistence/resources/src/main/java/fr/ird/observe/persistence/avdth/data/logbook/FloatingObjectReader.java - core/persistence/resources/src/main/java/fr/ird/observe/persistence/avdth/referential/AvdthReferentialImportContext.java - core/persistence/resources/src/main/java/fr/ird/observe/persistence/avdth/referential/AvdthReferentialImportResult.java - core/persistence/resources/src/main/java/fr/ird/observe/persistence/avdth/referential/interceptors/VesselActivityInterceptor.java Changes: ===================================== core/persistence/resources/src/main/java/fr/ird/observe/persistence/avdth/data/ImportReferentialContext.java ===================================== @@ -46,6 +46,7 @@ import fr.ird.observe.entities.referential.ps.common.SampleType; import fr.ird.observe.entities.referential.ps.common.SchoolType; import fr.ird.observe.entities.referential.ps.common.SpeciesFate; import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyOperation; +import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyOwnership; import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyType; import fr.ird.observe.entities.referential.ps.common.VesselActivity; import fr.ird.observe.entities.referential.ps.common.WeightCategory; @@ -99,6 +100,7 @@ public class ImportReferentialContext { private Map<String, ObservedSystem> observedSystem; private Map<String, ObjectOperation> objectOperation; private Map<String, TransmittingBuoyOperation> transmittingBuoyOperation; + private Map<String, TransmittingBuoyOwnership> transmittingBuoyOwnership; private Map<String, TransmittingBuoyType> transmittingBuoyType; private Map<String, SampleQuality> sampleQuality; private Map<String, SampleType> sampleType; @@ -213,6 +215,7 @@ public class ImportReferentialContext { Map<String, ObjectMaterial> objectMaterial = Maps.uniqueIndex(referential.getObjectMaterial(), ObjectMaterial::getTopiaId); transmittingBuoyOperation = Maps.uniqueIndex(referential.getTransmittingBuoyOperation(), TransmittingBuoyOperation::getCode); transmittingBuoyOperation1 = transmittingBuoyOperation.get("1"); + transmittingBuoyOwnership = Maps.uniqueIndex(referential.getTransmittingBuoyOwnership(), TransmittingBuoyOwnership::getCode); transmittingBuoyType = Maps.uniqueIndex(referential.getTransmittingBuoyType(), TransmittingBuoyType::getCode); transmittingBuoyType98 = transmittingBuoyType.get("98"); objectMaterialFOB = objectMaterial.get("fr.ird.referential.ps.common.ObjectMaterial#0#1.3"); @@ -551,6 +554,14 @@ public class ImportReferentialContext { return Objects.requireNonNull(transmittingBuoyType, String.format("Can't find transmittingBuoyType with code: %s", buoyTypeCode)); } + public TransmittingBuoyOwnership getTransmittingBuoyOwnershipByVesselActivityCode(String vesselActivityCode) { + String transmittingBuoyOwnershipCode = FloatingObjectReader.TRANSMITTING_BUOY_OWNERSHIP_CODE_MAPPING.get(vesselActivityCode); + if (transmittingBuoyOwnershipCode == null) { + return null; + } + return transmittingBuoyOwnership.get(transmittingBuoyOwnershipCode); + } + public ObservedSystem getObservedSystem(String objectTypeCode, String buoyTypeCode) { if (objectTypeCode.equals("999")) { if (buoyTypeCode.equals("999")) { ===================================== core/persistence/resources/src/main/java/fr/ird/observe/persistence/avdth/data/logbook/FloatingObjectReader.java ===================================== @@ -30,6 +30,7 @@ import fr.ird.observe.entities.referential.ps.common.ObjectMaterial; import fr.ird.observe.entities.referential.ps.common.ObjectOperation; import fr.ird.observe.entities.referential.ps.common.ObservedSystem; import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyOperation; +import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyOwnership; import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyType; import fr.ird.observe.entities.referential.ps.common.VesselActivity; import fr.ird.observe.persistence.avdth.data.DataReader; @@ -80,6 +81,9 @@ public class FloatingObjectReader extends DataReader<FloatingObject> { .put("32", "8") .put("33", "11") .put("34", "4") + // See https://gitlab.com/ultreiaio/ird-observe/-/issues/2568 + .put("40", "11") + .put("41", "11") .build(); /** * To get TransmittingBuoy.TransmittingBuoyOperation code from avdth ACTIVITE.C_OPERA code. @@ -104,8 +108,11 @@ public class FloatingObjectReader extends DataReader<FloatingObject> { .put("26", "2") // Visite | 2 Récupération | W_ARRIVING | .put("29", "1") // Visite | 1 Visite | W_ARRIVING | .put("32", "3") // Modif ou renfor | 3 Mise à l'eau | W_ARR + W_LEA | - .put("33", "4") // Perte | 4 Perte signal | W_ARRIVING | codes 11 et 4 à créer ; matériaux sur W_ARRIVING par convention, comme pour Visite + .put("33", "4") // Perte | 4 Perte signal | W_ARRIVING | codes 11 et 4 à créer ; matériaux sur W_ARRIVING par convention, comme pour Visite + appartenance 3 - Ce bateau .put("34", "2") // Retrait | 2 Récupération | W_ARRIVING | rattacher cette balise à un FOB de type '2-2-4-4 Bouée émettrice seule' + // See https://gitlab.com/ultreiaio/ird-observe/-/issues/2568 + .put("40", "4") // Perte | 4 Perte signal | W_ARRIVING | rattacher cette balise à un FOB de type '1-1 DFAD' + appartenance 3 - Ce bateau + .put("41", "5") // Arret commandé de la transmission | 5 Fin d'utilisation | W_ARRIVING | rattacher cette balise à un FOB de type '1-1 DFAD' + appartenance 3 - Ce bateau .build(); /** * Is floatingObjectPart on leaving from avdth ACTIVITE.C_OPERA. @@ -135,7 +142,9 @@ public class FloatingObjectReader extends DataReader<FloatingObject> { "31", "32", "33", - "34"); + "34", + "40", + "41"); /** * To get TransmittingBuoy.TransmittingBuoyType code from avdth ACTIVITE.C_TYP_BALISE code. */ @@ -183,6 +192,14 @@ public class FloatingObjectReader extends DataReader<FloatingObject> { .put("98", "99") .put("99", "99") .build(); + /** + * To get TransmittingBuoy.transmittingBuoyOwnership code from avdth ACTIVITE.C_OPERA code. + */ + public static final Map<String, String> TRANSMITTING_BUOY_OWNERSHIP_CODE_MAPPING = Map.of( + "33", "3", + "40", "3", + "41", "3" + ); /** * To get associated observedSystem code from avdth ACTIVITE.C_TYP_OBJET code. */ @@ -318,6 +335,10 @@ public class FloatingObjectReader extends DataReader<FloatingObject> { transmittingBuoy.setLatitude(dataContext.getActivity().getLatitude()); transmittingBuoy.setLongitude(dataContext.getActivity().getLongitude()); } + TransmittingBuoyOwnership transmittingBuoyOwnership = dataContext.getTransmittingBuoyOwnershipByVesselActivityCode(vesselActivityCode); + if (transmittingBuoyOwnership != null) { + transmittingBuoy.setTransmittingBuoyOwnership(transmittingBuoyOwnership); + } entity.addTransmittingBuoy(transmittingBuoy); } } else if (addBuoyFromObservedSystem) { ===================================== core/persistence/resources/src/main/java/fr/ird/observe/persistence/avdth/referential/AvdthReferentialImportContext.java ===================================== @@ -22,7 +22,6 @@ package fr.ird.observe.persistence.avdth.referential; * #L% */ -import fr.ird.observe.services.service.data.ps.AvdthReferentialImportConfiguration; import fr.ird.observe.entities.ObserveTopiaApplicationContext; import fr.ird.observe.entities.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.referential.ReferentialEntity; @@ -44,6 +43,7 @@ import fr.ird.observe.entities.referential.ps.common.SampleType; import fr.ird.observe.entities.referential.ps.common.SchoolType; import fr.ird.observe.entities.referential.ps.common.SpeciesFate; import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyOperation; +import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyOwnership; import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyType; import fr.ird.observe.entities.referential.ps.common.VesselActivity; import fr.ird.observe.entities.referential.ps.common.WeightCategory; @@ -66,11 +66,12 @@ import fr.ird.observe.persistence.avdth.referential.interceptors.TransmittingBuo import fr.ird.observe.persistence.avdth.referential.interceptors.VesseInterceptor; import fr.ird.observe.persistence.avdth.referential.interceptors.VesselActivityInterceptor; import fr.ird.observe.persistence.avdth.referential.interceptors.WeightCategoryInterceptor; +import fr.ird.observe.services.service.data.ps.AvdthReferentialImportConfiguration; import fr.ird.observe.spi.context.ReferentialDtoEntityContext; import fr.ird.observe.spi.decoration.DecoratorService; +import io.ultreia.java4all.util.sql.SqlScriptWriter; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import io.ultreia.java4all.util.sql.SqlScriptWriter; import java.io.Closeable; import java.io.IOException; @@ -170,6 +171,7 @@ public class AvdthReferentialImportContext implements Closeable { prepare(ObservedSystem.SPI, persistenceContext, result::setObservedSystem); prepare(TransmittingBuoyOperation.SPI, persistenceContext, result::setTransmittingBuoyOperation); prepare(TransmittingBuoyType.SPI, persistenceContext, result::setTransmittingBuoyType); + prepare(TransmittingBuoyOwnership.SPI, persistenceContext, result::setTransmittingBuoyOwnership); prepare(AcquisitionStatus.SPI, persistenceContext, result::setAcquisitionStatus); prepare(Person.SPI, persistenceContext, result::setPerson); prepare(ReasonForNoFishing.SPI, persistenceContext, result::setReasonForNoFishing); ===================================== core/persistence/resources/src/main/java/fr/ird/observe/persistence/avdth/referential/AvdthReferentialImportResult.java ===================================== @@ -28,7 +28,6 @@ import fr.ird.observe.entities.referential.common.Harbour; import fr.ird.observe.entities.referential.common.LengthMeasureMethod; import fr.ird.observe.entities.referential.common.Ocean; import fr.ird.observe.entities.referential.common.Person; -import fr.ird.observe.entities.referential.ps.common.Program; import fr.ird.observe.entities.referential.common.SizeMeasureType; import fr.ird.observe.entities.referential.common.Species; import fr.ird.observe.entities.referential.common.Vessel; @@ -38,12 +37,14 @@ import fr.ird.observe.entities.referential.ps.common.AcquisitionStatus; import fr.ird.observe.entities.referential.ps.common.ObjectMaterial; import fr.ird.observe.entities.referential.ps.common.ObjectOperation; import fr.ird.observe.entities.referential.ps.common.ObservedSystem; +import fr.ird.observe.entities.referential.ps.common.Program; import fr.ird.observe.entities.referential.ps.common.ReasonForNoFishing; import fr.ird.observe.entities.referential.ps.common.ReasonForNullSet; import fr.ird.observe.entities.referential.ps.common.SampleType; import fr.ird.observe.entities.referential.ps.common.SchoolType; import fr.ird.observe.entities.referential.ps.common.SpeciesFate; import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyOperation; +import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyOwnership; import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyType; import fr.ird.observe.entities.referential.ps.common.VesselActivity; import fr.ird.observe.entities.referential.ps.common.WeightCategory; @@ -99,6 +100,7 @@ public class AvdthReferentialImportResult { private List<ObjectOperation> objectOperation; private List<ObjectMaterial> objectMaterial; private List<TransmittingBuoyOperation> transmittingBuoyOperation; + private List<TransmittingBuoyOwnership> transmittingBuoyOwnership; private List<AcquisitionStatus> acquisitionStatus; private List<ReasonForNoFishing> reasonForNoFishing; private List<ReasonForNullSet> reasonForNullSet; @@ -321,6 +323,14 @@ public class AvdthReferentialImportResult { this.transmittingBuoyType = transmittingBuoyType; } + public List<TransmittingBuoyOwnership> getTransmittingBuoyOwnership() { + return transmittingBuoyOwnership; + } + + public void setTransmittingBuoyOwnership(List<TransmittingBuoyOwnership> transmittingBuoyOwnership) { + this.transmittingBuoyOwnership = transmittingBuoyOwnership; + } + public List<FpaZone> getFpaZone() { return fpaZone; } ===================================== core/persistence/resources/src/main/java/fr/ird/observe/persistence/avdth/referential/interceptors/VesselActivityInterceptor.java ===================================== @@ -85,6 +85,9 @@ public class VesselActivityInterceptor extends ReferentialInterceptor<VesselActi .put("35", "31") //FIXME .put("36", "99") + // See https://gitlab.com/ultreiaio/ird-observe/-/issues/2568 + .put("40", "13") + .put("41", "13") .build(); @SuppressWarnings("SpellCheckingInspection") View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/63e0cfb5c2506990b1f18c1be… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/63e0cfb5c2506990b1f18c1be… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] Gestion des codes AVDTH 40 et 41 par le migrateur AVDTH - Closes #2568
by Tony CHEMIT (@tchemit) 05 Dec '22

05 Dec '22
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 76374c4a by Tony Chemit at 2022-12-05T13:56:16+01:00 Gestion des codes AVDTH 40 et 41 par le migrateur AVDTH - Closes #2568 - - - - - 5 changed files: - core/persistence/resources/src/main/java/fr/ird/observe/persistence/avdth/data/ImportReferentialContext.java - core/persistence/resources/src/main/java/fr/ird/observe/persistence/avdth/data/logbook/FloatingObjectReader.java - core/persistence/resources/src/main/java/fr/ird/observe/persistence/avdth/referential/AvdthReferentialImportContext.java - core/persistence/resources/src/main/java/fr/ird/observe/persistence/avdth/referential/AvdthReferentialImportResult.java - core/persistence/resources/src/main/java/fr/ird/observe/persistence/avdth/referential/interceptors/VesselActivityInterceptor.java Changes: ===================================== core/persistence/resources/src/main/java/fr/ird/observe/persistence/avdth/data/ImportReferentialContext.java ===================================== @@ -46,6 +46,7 @@ import fr.ird.observe.entities.referential.ps.common.SampleType; import fr.ird.observe.entities.referential.ps.common.SchoolType; import fr.ird.observe.entities.referential.ps.common.SpeciesFate; import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyOperation; +import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyOwnership; import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyType; import fr.ird.observe.entities.referential.ps.common.VesselActivity; import fr.ird.observe.entities.referential.ps.common.WeightCategory; @@ -99,6 +100,7 @@ public class ImportReferentialContext { private Map<String, ObservedSystem> observedSystem; private Map<String, ObjectOperation> objectOperation; private Map<String, TransmittingBuoyOperation> transmittingBuoyOperation; + private Map<String, TransmittingBuoyOwnership> transmittingBuoyOwnership; private Map<String, TransmittingBuoyType> transmittingBuoyType; private Map<String, SampleQuality> sampleQuality; private Map<String, SampleType> sampleType; @@ -213,6 +215,7 @@ public class ImportReferentialContext { Map<String, ObjectMaterial> objectMaterial = Maps.uniqueIndex(referential.getObjectMaterial(), ObjectMaterial::getTopiaId); transmittingBuoyOperation = Maps.uniqueIndex(referential.getTransmittingBuoyOperation(), TransmittingBuoyOperation::getCode); transmittingBuoyOperation1 = transmittingBuoyOperation.get("1"); + transmittingBuoyOwnership = Maps.uniqueIndex(referential.getTransmittingBuoyOwnership(), TransmittingBuoyOwnership::getCode); transmittingBuoyType = Maps.uniqueIndex(referential.getTransmittingBuoyType(), TransmittingBuoyType::getCode); transmittingBuoyType98 = transmittingBuoyType.get("98"); objectMaterialFOB = objectMaterial.get("fr.ird.referential.ps.common.ObjectMaterial#0#1.3"); @@ -551,6 +554,14 @@ public class ImportReferentialContext { return Objects.requireNonNull(transmittingBuoyType, String.format("Can't find transmittingBuoyType with code: %s", buoyTypeCode)); } + public TransmittingBuoyOwnership getTransmittingBuoyOwnershipByVesselActivityCode(String vesselActivityCode) { + String transmittingBuoyOwnershipCode = FloatingObjectReader.TRANSMITTING_BUOY_OWNERSHIP_CODE_MAPPING.get(vesselActivityCode); + if (transmittingBuoyOwnershipCode == null) { + return null; + } + return transmittingBuoyOwnership.get(transmittingBuoyOwnershipCode); + } + public ObservedSystem getObservedSystem(String objectTypeCode, String buoyTypeCode) { if (objectTypeCode.equals("999")) { if (buoyTypeCode.equals("999")) { ===================================== core/persistence/resources/src/main/java/fr/ird/observe/persistence/avdth/data/logbook/FloatingObjectReader.java ===================================== @@ -30,6 +30,7 @@ import fr.ird.observe.entities.referential.ps.common.ObjectMaterial; import fr.ird.observe.entities.referential.ps.common.ObjectOperation; import fr.ird.observe.entities.referential.ps.common.ObservedSystem; import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyOperation; +import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyOwnership; import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyType; import fr.ird.observe.entities.referential.ps.common.VesselActivity; import fr.ird.observe.persistence.avdth.data.DataReader; @@ -80,6 +81,9 @@ public class FloatingObjectReader extends DataReader<FloatingObject> { .put("32", "8") .put("33", "11") .put("34", "4") + // See https://gitlab.com/ultreiaio/ird-observe/-/issues/2568 + .put("40", "11") + .put("41", "11") .build(); /** * To get TransmittingBuoy.TransmittingBuoyOperation code from avdth ACTIVITE.C_OPERA code. @@ -104,8 +108,11 @@ public class FloatingObjectReader extends DataReader<FloatingObject> { .put("26", "2") // Visite | 2 Récupération | W_ARRIVING | .put("29", "1") // Visite | 1 Visite | W_ARRIVING | .put("32", "3") // Modif ou renfor | 3 Mise à l'eau | W_ARR + W_LEA | - .put("33", "4") // Perte | 4 Perte signal | W_ARRIVING | codes 11 et 4 à créer ; matériaux sur W_ARRIVING par convention, comme pour Visite + .put("33", "4") // Perte | 4 Perte signal | W_ARRIVING | codes 11 et 4 à créer ; matériaux sur W_ARRIVING par convention, comme pour Visite + appartenance 3 - Ce bateau .put("34", "2") // Retrait | 2 Récupération | W_ARRIVING | rattacher cette balise à un FOB de type '2-2-4-4 Bouée émettrice seule' + // See https://gitlab.com/ultreiaio/ird-observe/-/issues/2568 + .put("40", "4") // Perte | 4 Perte signal | W_ARRIVING | rattacher cette balise à un FOB de type '1-1 DFAD' + appartenance 3 - Ce bateau + .put("41", "5") // Arret commandé de la transmission | 5 Fin d'utilisation | W_ARRIVING | rattacher cette balise à un FOB de type '1-1 DFAD' + appartenance 3 - Ce bateau .build(); /** * Is floatingObjectPart on leaving from avdth ACTIVITE.C_OPERA. @@ -135,7 +142,9 @@ public class FloatingObjectReader extends DataReader<FloatingObject> { "31", "32", "33", - "34"); + "34", + "40", + "41"); /** * To get TransmittingBuoy.TransmittingBuoyType code from avdth ACTIVITE.C_TYP_BALISE code. */ @@ -183,6 +192,14 @@ public class FloatingObjectReader extends DataReader<FloatingObject> { .put("98", "99") .put("99", "99") .build(); + /** + * To get TransmittingBuoy.transmittingBuoyOwnership code from avdth ACTIVITE.C_OPERA code. + */ + public static final Map<String, String> TRANSMITTING_BUOY_OWNERSHIP_CODE_MAPPING = Map.of( + "33", "3", + "40", "3", + "41", "3" + ); /** * To get associated observedSystem code from avdth ACTIVITE.C_TYP_OBJET code. */ @@ -318,6 +335,10 @@ public class FloatingObjectReader extends DataReader<FloatingObject> { transmittingBuoy.setLatitude(dataContext.getActivity().getLatitude()); transmittingBuoy.setLongitude(dataContext.getActivity().getLongitude()); } + TransmittingBuoyOwnership transmittingBuoyOwnership = dataContext.getTransmittingBuoyOwnershipByVesselActivityCode(vesselActivityCode); + if (transmittingBuoyOwnership != null) { + transmittingBuoy.setTransmittingBuoyOwnership(transmittingBuoyOwnership); + } entity.addTransmittingBuoy(transmittingBuoy); } } else if (addBuoyFromObservedSystem) { ===================================== core/persistence/resources/src/main/java/fr/ird/observe/persistence/avdth/referential/AvdthReferentialImportContext.java ===================================== @@ -22,7 +22,6 @@ package fr.ird.observe.persistence.avdth.referential; * #L% */ -import fr.ird.observe.services.service.data.ps.AvdthReferentialImportConfiguration; import fr.ird.observe.entities.ObserveTopiaApplicationContext; import fr.ird.observe.entities.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.referential.ReferentialEntity; @@ -44,6 +43,7 @@ import fr.ird.observe.entities.referential.ps.common.SampleType; import fr.ird.observe.entities.referential.ps.common.SchoolType; import fr.ird.observe.entities.referential.ps.common.SpeciesFate; import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyOperation; +import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyOwnership; import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyType; import fr.ird.observe.entities.referential.ps.common.VesselActivity; import fr.ird.observe.entities.referential.ps.common.WeightCategory; @@ -66,11 +66,12 @@ import fr.ird.observe.persistence.avdth.referential.interceptors.TransmittingBuo import fr.ird.observe.persistence.avdth.referential.interceptors.VesseInterceptor; import fr.ird.observe.persistence.avdth.referential.interceptors.VesselActivityInterceptor; import fr.ird.observe.persistence.avdth.referential.interceptors.WeightCategoryInterceptor; +import fr.ird.observe.services.service.data.ps.AvdthReferentialImportConfiguration; import fr.ird.observe.spi.context.ReferentialDtoEntityContext; import fr.ird.observe.spi.decoration.DecoratorService; +import io.ultreia.java4all.util.sql.SqlScriptWriter; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import io.ultreia.java4all.util.sql.SqlScriptWriter; import java.io.Closeable; import java.io.IOException; @@ -170,6 +171,7 @@ public class AvdthReferentialImportContext implements Closeable { prepare(ObservedSystem.SPI, persistenceContext, result::setObservedSystem); prepare(TransmittingBuoyOperation.SPI, persistenceContext, result::setTransmittingBuoyOperation); prepare(TransmittingBuoyType.SPI, persistenceContext, result::setTransmittingBuoyType); + prepare(TransmittingBuoyOwnership.SPI, persistenceContext, result::setTransmittingBuoyOwnership); prepare(AcquisitionStatus.SPI, persistenceContext, result::setAcquisitionStatus); prepare(Person.SPI, persistenceContext, result::setPerson); prepare(ReasonForNoFishing.SPI, persistenceContext, result::setReasonForNoFishing); ===================================== core/persistence/resources/src/main/java/fr/ird/observe/persistence/avdth/referential/AvdthReferentialImportResult.java ===================================== @@ -28,7 +28,6 @@ import fr.ird.observe.entities.referential.common.Harbour; import fr.ird.observe.entities.referential.common.LengthMeasureMethod; import fr.ird.observe.entities.referential.common.Ocean; import fr.ird.observe.entities.referential.common.Person; -import fr.ird.observe.entities.referential.ps.common.Program; import fr.ird.observe.entities.referential.common.SizeMeasureType; import fr.ird.observe.entities.referential.common.Species; import fr.ird.observe.entities.referential.common.Vessel; @@ -38,12 +37,14 @@ import fr.ird.observe.entities.referential.ps.common.AcquisitionStatus; import fr.ird.observe.entities.referential.ps.common.ObjectMaterial; import fr.ird.observe.entities.referential.ps.common.ObjectOperation; import fr.ird.observe.entities.referential.ps.common.ObservedSystem; +import fr.ird.observe.entities.referential.ps.common.Program; import fr.ird.observe.entities.referential.ps.common.ReasonForNoFishing; import fr.ird.observe.entities.referential.ps.common.ReasonForNullSet; import fr.ird.observe.entities.referential.ps.common.SampleType; import fr.ird.observe.entities.referential.ps.common.SchoolType; import fr.ird.observe.entities.referential.ps.common.SpeciesFate; import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyOperation; +import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyOwnership; import fr.ird.observe.entities.referential.ps.common.TransmittingBuoyType; import fr.ird.observe.entities.referential.ps.common.VesselActivity; import fr.ird.observe.entities.referential.ps.common.WeightCategory; @@ -99,6 +100,7 @@ public class AvdthReferentialImportResult { private List<ObjectOperation> objectOperation; private List<ObjectMaterial> objectMaterial; private List<TransmittingBuoyOperation> transmittingBuoyOperation; + private List<TransmittingBuoyOwnership> transmittingBuoyOwnership; private List<AcquisitionStatus> acquisitionStatus; private List<ReasonForNoFishing> reasonForNoFishing; private List<ReasonForNullSet> reasonForNullSet; @@ -321,6 +323,14 @@ public class AvdthReferentialImportResult { this.transmittingBuoyType = transmittingBuoyType; } + public List<TransmittingBuoyOwnership> getTransmittingBuoyOwnership() { + return transmittingBuoyOwnership; + } + + public void setTransmittingBuoyOwnership(List<TransmittingBuoyOwnership> transmittingBuoyOwnership) { + this.transmittingBuoyOwnership = transmittingBuoyOwnership; + } + public List<FpaZone> getFpaZone() { return fpaZone; } ===================================== core/persistence/resources/src/main/java/fr/ird/observe/persistence/avdth/referential/interceptors/VesselActivityInterceptor.java ===================================== @@ -85,6 +85,9 @@ public class VesselActivityInterceptor extends ReferentialInterceptor<VesselActi .put("35", "31") //FIXME .put("36", "99") + // See https://gitlab.com/ultreiaio/ird-observe/-/issues/2568 + .put("40", "13") + .put("41", "13") .build(); @SuppressWarnings("SpellCheckingInspection") View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/76374c4a9dbe2646eb6c419e4… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/76374c4a9dbe2646eb6c419e4… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop-9.0.x] Rapport LB - Vérification croisée des débarquements, colonnes cuves vides erronées - Closes #2551
by Tony CHEMIT (@tchemit) 02 Dec '22

02 Dec '22
Tony CHEMIT pushed to branch develop-9.0.x at ultreiaio / ird-observe Commits: 2f1f273f by Tony Chemit at 2022-12-02T13:15:31+01:00 Rapport LB - Vérification croisée des débarquements, colonnes cuves vides erronées - Closes #2551 - - - - - 2 changed files: - core/api/dto/src/main/resources/observe-reports.properties - core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-psLogbookTrip.properties Changes: ===================================== core/api/dto/src/main/resources/observe-reports.properties ===================================== @@ -1069,8 +1069,14 @@ Select vessel.code,\ concat(day(t.endDate), '/', month(t.endDate), '/', year(t.endDate)), \ departureHarbour.label2, \ landingHarbour.label2, \ - case when departureWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#001' then 'Oui' when departureWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#002' then 'Non' when departureWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#003' then 'Inconnu' else 'Non Renseigné' end, \ - case when landingWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#001' then 'Oui' when landingWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#002' then 'Non' when departureWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#003' then 'Inconnu' else 'Non Renseigné' end, \ + case departureWellContentStatus.id when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#01' then 'Oui' \ + when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#02' then 'Non' \ + when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#03' then 'Inconnu' \ + else 'Non Renseigné' end, \ + case landingWellContentStatus.id when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#01' then 'Oui' \ + when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#02' then 'Non' \ + when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#03' then 'Inconnu' \ + else 'Non Renseigné' end, \ t.timeAtSea, \ t.fishingTime, \ (select Sum(l.weight) from t.landing l), \ ===================================== core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-psLogbookTrip.properties ===================================== @@ -19,7 +19,7 @@ # <http://www.gnu.org/licenses/gpl-3.0.html>. # #L% ### -result.0=483^CAP BOJADOR^30/3/2019^8/4/2019^ABIDJAN^ABIDJAN^Non Renseigné^Non Renseigné^null^null^134.0^null^4.99^null^Réalisé^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu +result.0=483^CAP BOJADOR^30/3/2019^8/4/2019^ABIDJAN^ABIDJAN^Inconnu^Inconnu^null^null^134.0^null^4.99^null^Réalisé^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu result.1=891^BERNICA^10/11/2019^6/12/2019^SEYCHELLES^SEYCHELLES^Non Renseigné^Non Renseigné^null^null^null^null^null^null^Réalisé^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu result.columns=22 result.rows=2 View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/2f1f273f1b9373e3b2b53b787… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/2f1f273f1b9373e3b2b53b787… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] Rapport LB - Vérification croisée des débarquements, colonnes cuves vides erronées - Closes #2551
by Tony CHEMIT (@tchemit) 02 Dec '22

02 Dec '22
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 50f460e2 by Tony Chemit at 2022-12-02T13:15:51+01:00 Rapport LB - Vérification croisée des débarquements, colonnes cuves vides erronées - Closes #2551 - - - - - 2 changed files: - core/api/dto/src/main/resources/observe-reports.properties - core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-psLogbookTrip.properties Changes: ===================================== core/api/dto/src/main/resources/observe-reports.properties ===================================== @@ -1069,8 +1069,14 @@ Select vessel.code,\ concat(day(t.endDate), '/', month(t.endDate), '/', year(t.endDate)), \ departureHarbour.label2, \ landingHarbour.label2, \ - case when departureWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#001' then 'Oui' when departureWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#002' then 'Non' when departureWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#003' then 'Inconnu' else 'Non Renseigné' end, \ - case when landingWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#001' then 'Oui' when landingWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#002' then 'Non' when departureWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#003' then 'Inconnu' else 'Non Renseigné' end, \ + case departureWellContentStatus.id when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#01' then 'Oui' \ + when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#02' then 'Non' \ + when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#03' then 'Inconnu' \ + else 'Non Renseigné' end, \ + case landingWellContentStatus.id when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#01' then 'Oui' \ + when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#02' then 'Non' \ + when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#03' then 'Inconnu' \ + else 'Non Renseigné' end, \ t.timeAtSea, \ t.fishingTime, \ (select Sum(l.weight) from t.landing l), \ ===================================== core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-psLogbookTrip.properties ===================================== @@ -19,7 +19,7 @@ # <http://www.gnu.org/licenses/gpl-3.0.html>. # #L% ### -result.0=483^CAP BOJADOR^30/3/2019^8/4/2019^ABIDJAN^ABIDJAN^Non Renseigné^Non Renseigné^null^null^134.0^null^4.99^null^Réalisé^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu +result.0=483^CAP BOJADOR^30/3/2019^8/4/2019^ABIDJAN^ABIDJAN^Inconnu^Inconnu^null^null^134.0^null^4.99^null^Réalisé^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu result.1=891^BERNICA^10/11/2019^6/12/2019^SEYCHELLES^SEYCHELLES^Non Renseigné^Non Renseigné^null^null^null^null^null^null^Réalisé^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu^Statut inconnu result.columns=22 result.rows=2 View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/50f460e2495c49bd8a1696ad9… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/50f460e2495c49bd8a1696ad9… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop-9.0.x] Rapport LB - Vérification croisée des débarquements, colonnes cuves vides erronées - Closes #2551
by Tony CHEMIT (@tchemit) 02 Dec '22

02 Dec '22
Tony CHEMIT pushed to branch develop-9.0.x at ultreiaio / ird-observe Commits: 8c7cf3fd by Tony Chemit at 2022-12-02T13:01:20+01:00 Rapport LB - Vérification croisée des débarquements, colonnes cuves vides erronées - Closes #2551 - - - - - 1 changed file: - core/api/dto/src/main/resources/observe-reports.properties Changes: ===================================== core/api/dto/src/main/resources/observe-reports.properties ===================================== @@ -1069,8 +1069,14 @@ Select vessel.code,\ concat(day(t.endDate), '/', month(t.endDate), '/', year(t.endDate)), \ departureHarbour.label2, \ landingHarbour.label2, \ - case when departureWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#001' then 'Oui' when departureWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#002' then 'Non' when departureWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#003' then 'Inconnu' else 'Non Renseigné' end, \ - case when landingWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#001' then 'Oui' when landingWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#002' then 'Non' when departureWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#003' then 'Inconnu' else 'Non Renseigné' end, \ + case departureWellContentStatus.id when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#01' then 'Oui' \ + when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#02' then 'Non' \ + when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#03' then 'Inconnu' \ + else 'Non Renseigné' end, \ + case landingWellContentStatus.id when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#01' then 'Oui' \ + when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#02' then 'Non' \ + when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#03' then 'Inconnu' \ + else 'Non Renseigné' end, \ t.timeAtSea, \ t.fishingTime, \ (select Sum(l.weight) from t.landing l), \ View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/8c7cf3fd7d9c54cf6e56b9935… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/8c7cf3fd7d9c54cf6e56b9935… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] Rapport LB - Vérification croisée des débarquements, colonnes cuves vides erronées - Closes #2551
by Tony CHEMIT (@tchemit) 02 Dec '22

02 Dec '22
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: ddc07eea by Tony Chemit at 2022-12-02T13:01:35+01:00 Rapport LB - Vérification croisée des débarquements, colonnes cuves vides erronées - Closes #2551 - - - - - 1 changed file: - core/api/dto/src/main/resources/observe-reports.properties Changes: ===================================== core/api/dto/src/main/resources/observe-reports.properties ===================================== @@ -1069,8 +1069,14 @@ Select vessel.code,\ concat(day(t.endDate), '/', month(t.endDate), '/', year(t.endDate)), \ departureHarbour.label2, \ landingHarbour.label2, \ - case when departureWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#001' then 'Oui' when departureWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#002' then 'Non' when departureWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#003' then 'Inconnu' else 'Non Renseigné' end, \ - case when landingWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#001' then 'Oui' when landingWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#002' then 'Non' when departureWellContentStatus.id = 'fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#003' then 'Inconnu' else 'Non Renseigné' end, \ + case departureWellContentStatus.id when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#01' then 'Oui' \ + when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#02' then 'Non' \ + when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#03' then 'Inconnu' \ + else 'Non Renseigné' end, \ + case landingWellContentStatus.id when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#01' then 'Oui' \ + when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#02' then 'Non' \ + when 'fr.ird.referential.ps.logbook.WellContentStatus#1464000000000#03' then 'Inconnu' \ + else 'Non Renseigné' end, \ t.timeAtSea, \ t.fishingTime, \ (select Sum(l.weight) from t.landing l), \ View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/ddc07eeae0de761eb9b66c360… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/ddc07eeae0de761eb9b66c360… You're receiving this email because of your account on gitlab.com.
1 0
0 0
  • ← Newer
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.