......@@ -118,7 +118,7 @@ reefdb.config.option.synchro.useServer.description=
reefdb.config.option.synchro.zipFile.prefix.description=
reefdb.config.option.timezone.description=Fuseau horaire du poste client
reefdb.config.option.tmp.directory.description=Répertoire temporaire de l'application
reefdb.config.option.transcribingItemType.id.pmfmNm.description=
reefdb.config.option.transcribingItemType.label.pmfmExtraction.description=Libellé du type de transcodage pour les noms des PSFMU pour les extractions
reefdb.config.option.transcribingItemType.label.pmfmNm.description=Libellé du type de transcodage pour les noms des PSFMU
reefdb.config.option.ui.autoPopupNumberEditor.description=Ouvre automatiquement la calculette pour la saisie des nombres
reefdb.config.option.ui.color.alternateRow.description=Couleur de fond des lignes paires (non sélectionnée) dans un tableau
......@@ -291,12 +291,17 @@ reefdb.service.common.progression=%s \: traitement de %s/%s
reefdb.service.control=Contrôle
reefdb.service.controlRule.invalid.message=La règle de contrôle '%s' n'est pas respectée
reefdb.service.extraction.error=Une erreur s'est produite lors de l'extration.
reefdb.service.extraction.fieldName.INPUT_TAXON_NAME_ID=${reefdb.service.extraction.fieldNamePrefix.MEAS}_Identifiant_interne_TAXON_NAME_ID
reefdb.service.extraction.fieldName.INPUT_TAXON_NAME_NM=Taxon_saisi
reefdb.service.extraction.fieldName.CAMPAIGN_NM=${reefdb.service.extraction.fieldNamePrefix.SURVEY}_Campagne
reefdb.service.extraction.fieldName.INPUT_TAXON_NAME_ID=
reefdb.service.extraction.fieldName.INPUT_TAXON_NAME_NM=
reefdb.service.extraction.fieldName.MEAS_ANALYST_NM=${reefdb.service.extraction.fieldNamePrefix.MEAS}_Organisme_analyste
reefdb.service.extraction.fieldName.MEAS_CM=${reefdb.service.extraction.fieldNamePrefix.MEAS}_Commentaires
reefdb.service.extraction.fieldName.MEAS_DEP_NM=${reefdb.service.extraction.fieldNamePrefix.MEAS}_Organisme_analyste
reefdb.service.extraction.fieldName.MEAS_DEP_NM=
reefdb.service.extraction.fieldName.MEAS_IDS=${reefdb.service.extraction.fieldNamePrefix.MEAS}_Identifiants_interne_MEAS_ID
reefdb.service.extraction.fieldName.MEAS_INDIV_ID=${reefdb.service.extraction.fieldNamePrefix.MEAS}_Numero_individu
reefdb.service.extraction.fieldName.MEAS_QUALIF_CM=${reefdb.service.extraction.fieldNamePrefix.MEAS}_Commentaire_Qualif
reefdb.service.extraction.fieldName.MEAS_QUALIF_DT=${reefdb.service.extraction.fieldNamePrefix.MEAS}_Date_Qualif
reefdb.service.extraction.fieldName.MEAS_QUAL_FLAG_NM=${reefdb.service.extraction.fieldNamePrefix.MEAS}_Niveau_qualite
reefdb.service.extraction.fieldName.MON_LOC_ID=${reefdb.service.extraction.fieldNamePrefix.MON_LOC}_Identifiant
reefdb.service.extraction.fieldName.MON_LOC_LB=${reefdb.service.extraction.fieldNamePrefix.MON_LOC}_Mnemonique
reefdb.service.extraction.fieldName.MON_LOC_NM=Station
......@@ -304,6 +309,7 @@ reefdb.service.extraction.fieldName.MON_LOC_ORDER_ITEM_NUMBER=${reefdb.service.e
reefdb.service.extraction.fieldName.ORDER_ITEM_CD=${reefdb.service.extraction.fieldNamePrefix.MON_LOC}_Entite_classement_Identifiant
reefdb.service.extraction.fieldName.ORDER_ITEM_NM=${reefdb.service.extraction.fieldNamePrefix.MON_LOC}_Entite_classement
reefdb.service.extraction.fieldName.ORDER_ITEM_TYPE_NM=${reefdb.service.extraction.fieldNamePrefix.MON_LOC}_Entite_classement_Type
reefdb.service.extraction.fieldName.REF_TAXON_NM=Taxon
reefdb.service.extraction.fieldName.SAMPLING_EQUIPMENT_NM=${reefdb.service.extraction.fieldNamePrefix.SAMPLING_OPER}_Moyen_acquisition
reefdb.service.extraction.fieldName.SAMPLING_EQUIPMENT_SIZE=${reefdb.service.extraction.fieldNamePrefix.SAMPLING_OPER}_Moyen_acquisition_Taille
reefdb.service.extraction.fieldName.SAMPLING_EQUIPMENT_SIZE_UNIT_SYMBOL=${reefdb.service.extraction.fieldNamePrefix.SAMPLING_OPER}_Moyen_acquisition_Taille_Symbole_unite
......@@ -325,12 +331,14 @@ reefdb.service.extraction.fieldName.SAMPLING_OPER_POSITION_LONG_MAX=${reefdb.ser
reefdb.service.extraction.fieldName.SAMPLING_OPER_POSITION_LONG_MIN=${reefdb.service.extraction.fieldNamePrefix.SAMPLING_OPER}_Coordonnees_MINX
reefdb.service.extraction.fieldName.SAMPLING_OPER_QUALIF_CM=${reefdb.service.extraction.fieldNamePrefix.SAMPLING_OPER}_Commentaire_qualification
reefdb.service.extraction.fieldName.SAMPLING_OPER_QUALIF_DT=${reefdb.service.extraction.fieldNamePrefix.SAMPLING_OPER}_Date_qualification
reefdb.service.extraction.fieldName.SAMPLING_OPER_QUAL_FLAG=${reefdb.service.extraction.fieldNamePrefix.SAMPLING_OPER}_Niveau_qualite
reefdb.service.extraction.fieldName.SAMPLING_OPER_QUAL_FLAG=
reefdb.service.extraction.fieldName.SAMPLING_OPER_QUAL_FLAG_NM=${reefdb.service.extraction.fieldNamePrefix.SAMPLING_OPER}_Niveau_qualite
reefdb.service.extraction.fieldName.SAMPLING_OPER_SIZE=${reefdb.service.extraction.fieldNamePrefix.SAMPLING_OPER}_Taille
reefdb.service.extraction.fieldName.SAMPLING_OPER_SIZE_UNIT_SYMBOL=${reefdb.service.extraction.fieldNamePrefix.SAMPLING_OPER}_Unite
reefdb.service.extraction.fieldName.SAMPLING_OPER_TIME=${reefdb.service.extraction.fieldNamePrefix.SAMPLING_OPER}_Heure
reefdb.service.extraction.fieldName.SAMPLING_OPER_VALID_DT=${reefdb.service.extraction.fieldNamePrefix.SAMPLING_OPER}_Date_validation
reefdb.service.extraction.fieldName.SURVEY_BOTTOM_DEPTH=${reefdb.service.extraction.fieldNamePrefix.SURVEY}_Profondeur_precise
reefdb.service.extraction.fieldName.SURVEY_BOTTOM_DEPTH_UNIT_SYMBOL=${reefdb.service.extraction.fieldNamePrefix.SURVEY}_Profondeur_precise_Symbole_unite
reefdb.service.extraction.fieldName.SURVEY_CM=${reefdb.service.extraction.fieldNamePrefix.SURVEY}_Commentaire
reefdb.service.extraction.fieldName.SURVEY_CONTROL_DT=${reefdb.service.extraction.fieldNamePrefix.SURVEY}_Date_controle
reefdb.service.extraction.fieldName.SURVEY_DT=Date
......@@ -343,13 +351,15 @@ reefdb.service.extraction.fieldName.SURVEY_POSITION_LONG_MIN=${reefdb.service.ex
reefdb.service.extraction.fieldName.SURVEY_PROG_CD=Programme
reefdb.service.extraction.fieldName.SURVEY_QUALIF_CM=${reefdb.service.extraction.fieldNamePrefix.SURVEY}_Commentaire_qualification
reefdb.service.extraction.fieldName.SURVEY_QUALIF_DT=${reefdb.service.extraction.fieldNamePrefix.SURVEY}_Date_qualification
reefdb.service.extraction.fieldName.SURVEY_QUAL_FLAG=${reefdb.service.extraction.fieldNamePrefix.SURVEY}_Niveau_qualite
reefdb.service.extraction.fieldName.SURVEY_QUAL_FLAG=
reefdb.service.extraction.fieldName.SURVEY_QUAL_FLAG_NM=${reefdb.service.extraction.fieldNamePrefix.SURVEY}_Niveau_qualite
reefdb.service.extraction.fieldName.SURVEY_QUSERS=${reefdb.service.extraction.fieldNamePrefix.SURVEY}_Observateurs
reefdb.service.extraction.fieldName.SURVEY_TIME=${reefdb.service.extraction.fieldNamePrefix.SURVEY}_Heure
reefdb.service.extraction.fieldName.SURVEY_VALID_DT=${reefdb.service.extraction.fieldNamePrefix.SURVEY}_Date_validation
reefdb.service.extraction.fieldName.TAXON_GROUP_NM=Groupe_taxons
reefdb.service.extraction.fieldName.TAXON_MEAS_IDS=${reefdb.service.extraction.fieldNamePrefix.MEAS}_Identifiants_interne_TAXON_MEAS_ID
reefdb.service.extraction.fieldName.TAXON_NAME_NM=Taxon
reefdb.service.extraction.fieldName.TAXON_NAME_ID=${reefdb.service.extraction.fieldNamePrefix.MEAS}_Identifiant_interne_TAXON_NAME_ID
reefdb.service.extraction.fieldName.TAXON_NAME_NM=Taxon_saisi
reefdb.service.extraction.fieldName.TAXON_PAMPA=Taxon_pampa
reefdb.service.extraction.fieldNamePrefix.MEAS=MESURE
reefdb.service.extraction.fieldNamePrefix.MON_LOC=STATION
......@@ -357,6 +367,8 @@ reefdb.service.extraction.fieldNamePrefix.SAMPLING_OPER=REPLICAT
reefdb.service.extraction.fieldNamePrefix.SURVEY=OBSERVATION
reefdb.service.extraction.noData.error=Aucune observation ne correspond aux critères d'extraction.
reefdb.service.extraction.noPmfm.error=Aucune mesure ne correspond aux critères d'extraction.
reefdb.service.extraction.notDistinct.MEAS_QUALIF_CM=Qualifications différentes selon les résultats - non affichables dans ce format d'export
reefdb.service.extraction.notDistinct.MEAS_QUAL_FLAG_NM=Niveaux multiples
reefdb.service.observation.duplicate.measurementComment=Résultat dupliqué le %s depuis l'observation %s
reefdb.service.observation.save=Sauvegarde
reefdb.service.observation.unvalidation.progression=Dévalidation de %s observation(s) [%s-%s]
......
......@@ -43,6 +43,7 @@ pmfmId.PIT_ORIGIN=2326
UnitId.NO_UNIT=99
TranscribingItemTypeLb.REEFDB_PMFM_NM=REEFDB-PMFM.PMFM_NM
TranscribingItemTypeLb.REEFDB_PMFM_EXTRACTION=REEFDB-PMFM-EXTRACT.PMFM_NM
############################################
# Alternative Taxon Code #
......
......@@ -1754,6 +1754,32 @@
<query-param name="programCode" type="java.lang.String"/>
</query>
<query name="appliedStrategiesByProgramCodes">
<![CDATA[
SELECT DISTINCT
a.appliedStratId,
p.progCd,
p.progNm,
p.status.statusCd,
s.id,
s.stratNm,
ap.id.appliedPeriodStartDt as startDt,
ap.appliedPeriodEndDt as endDt,
dep.depId
FROM
AppliedStrategyImpl a
INNER JOIN a.strategy s
INNER JOIN s.program p
LEFT OUTER JOIN a.appliedPeriods ap
LEFT OUTER JOIN a.department dep
WHERE
p.progCd IN (:programCodes)
ORDER BY
a.strategy.stratNm, ap.id.appliedPeriodStartDt
]]>
<query-param name="programCodes" type="java.lang.String"/>
</query>
<query name="analysisDepartmentByAppliedStrategyId">
<![CDATA[
SELECT DISTINCT
......@@ -1830,6 +1856,7 @@
a.appliedStratId,
p.progCd,
p.progNm,
p.status.statusCd,
s.id,
s.stratNm,
ap.id.appliedPeriodStartDt as startDt,
......
<?xml version="1.0" encoding="UTF-8"?>
<!--
#%L
Dali :: Core
%%
Copyright (C) 2017 Ifremer
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
#L%
-->
<queries name="extractionCleanHermeticData">
<query type="delete" table="&amp;tableName">
<where><![CDATA[SURVEY_PROG_CD = '&programCode']]></where>
<where operator="AND"><![CDATA[REC_DEP_ID != &recDepId]]></where>
</query>
</queries>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!--
#%L
Dali :: Core
%%
Copyright (C) 2017 Ifremer
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
#L%
-->
<queries name="extractionCleanRawData">
<query type="delete" table="&amp;tableName">
<where>1=2</where>
<where operator="OR" group="taxonGroup">
<where>TAXON_GROUP_ID IS NULL</where>
<where operator="OR">
<notin field="TAXON_GROUP_ID"><![CDATA[&taxonGroupIds]]></notin>
</where>
</where>
<where operator="OR" group="taxonName">
<where>REF_TAXON_ID IS NULL</where>
<where operator="OR">
<where>
<notin field="REF_TAXON_ID"><![CDATA[&taxonNameIds]]></notin>
</where>
<where operator="OR" group="simple,complete,sinp">
<notin field="TAXON_NAME_ID"><![CDATA[&taxonNameIds]]></notin>
</where>
</where>
</where>
</query>
</queries>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!--
#%L
Dali :: Core
%%
Copyright (C) 2017 Ifremer
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
#L%
-->
<queries name="extractionCountFrom">
<query type="select">
<select alias="COUNT_ALL" type="number">COUNT(*)</select>
<from><![CDATA[&tableName]]></from>
</query>
</queries>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!--
#%L
Dali :: Core
%%
Copyright (C) 2017 Ifremer
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
#L%
-->
<queries name="extractionCreateBaseTable">
<query type="create" temp="true" table="&amp;baseTableName">
<with alias="MLOI">
<subquery>
<subselect alias="MON_LOC_ID" type="number">MLOI.MON_LOC_ID</subselect>
<subselect alias="ORDER_ITEM_NM" type="number">OI.ORDER_ITEM_NM</subselect>
<subselect alias="ORDER_ITEM_TYPE_NM" type="number">OIT.ORDER_ITEM_TYPE_NM</subselect>
<subselect alias="ORDER_ITEM_CD" type="number">OI.ORDER_ITEM_CD</subselect>
<subselect alias="MON_LOC_ORDER_ITEM_NUMBER" type="number">MLOI.MON_LOC_ORDER_ITEM_NUMBER</subselect>
<from alias="MLOI">MON_LOC_ORDER_ITEM</from>
<from join="true">LEFT OUTER JOIN ORDER_ITEM OI ON MLOI.ORDER_ITEM_ID = OI.ORDER_ITEM_ID</from>
<from join="true">LEFT OUTER JOIN ORDER_ITEM_TYPE OIT ON OI.ORDER_ITEM_TYPE_CD = OIT.ORDER_ITEM_TYPE_CD</from>
<where><![CDATA[OI.ORDER_ITEM_TYPE_CD = '&orderItemTypeCode']]></where>
</subquery>
</with>
<select alias="SURVEY_ID" type="number">S.SURVEY_ID</select>
<select alias="SURVEY_LB" type="text">S.SURVEY_LB</select>
<select alias="SURVEY_DT" type="date">S.SURVEY_DT</select>
<select alias="SURVEY_PROG_CD" type="text">PROG.PROG_CD</select>
<select alias="REC_DEP_ID" type="number">S.REC_DEP_ID</select>
<select alias="CAMPAIGN_NM" type="text">C.CAMPAIGN_NM</select>
<select alias="MON_LOC_ID" type="number">ML.MON_LOC_ID</select>
<select alias="MON_LOC_LB" type="text">ML.MON_LOC_LB</select>
<select alias="MON_LOC_NM" type="text">ML.MON_LOC_NM</select>
<select alias="ORDER_ITEM_NM" type="text">MLOI.ORDER_ITEM_NM</select>
<select alias="SAMPLING_OPER_ID" type="number">SO.SAMPLING_OPER_ID</select>
<select alias="SAMPLING_OPER_LB" type="text">SO.SAMPLING_OPER_LB</select>
<select alias="SURVEY_POSITION_LONG" type="text">TRIM(REGEXP_SUBSTRING(SP.SURVEY_POSITION, '[0-9.-]+'))</select>
<select alias="SURVEY_POSITION_LAT" type="text">TRIM(TRIM(TRAILING ')' FROM REGEXP_SUBSTRING(SP.SURVEY_POSITION, '[0-9.-]+\)$')))</select>
<select alias="SURVEY_QUSERS" type="text" group="simple,complete,sinp">GROUP_CONCAT(Q.QUSER_FIRST_NM || ' ' || Q.QUSER_LAST_NM || ' - ' || QD.DEP_NM SEPARATOR '|')</select>
<select alias="SURVEY_QUSERS" type="text" group="pampa">GROUP_CONCAT(Q.QUSER_FIRST_NM || ' ' || Q.QUSER_LAST_NM separator '|')</select>
<select alias="SAMPLING_OPER_SIZE" type="number">SO.SAMPLING_OPER_SIZE</select>
<select alias="SAMPLING_OPER_SIZE_UNIT_SYMBOL" type="text">SOSU.UNIT_SYMBOL</select>
<select alias="SAMPLING_EQUIPMENT_NM" type="text">SE.SAMPLING_EQUIPMENT_NM</select>
<select alias="SAMPLING_OPER_DEP_NM" type="text">SOD.DEP_NM</select>
<!-- Complete only part-->
<select alias="ORDER_ITEM_TYPE_NM" type="text" group="complete">MLOI.ORDER_ITEM_TYPE_NM</select>
<select alias="ORDER_ITEM_CD" type="text" group="complete">MLOI.ORDER_ITEM_CD</select>
<select alias="MON_LOC_ORDER_ITEM_NUMBER" type="number" group="complete">MLOI.MON_LOC_ORDER_ITEM_NUMBER</select>
<select alias="SURVEY_TIME" type="text" group="complete">S.SURVEY_TIME</select>
<select alias="SURVEY_CM" type="text" group="complete">S.SURVEY_CM</select>
<select alias="SURVEY_CONTROL_DT" type="date" group="complete">S.SURVEY_CONTROL_DT</select>
<select alias="SURVEY_VALID_DT" type="date" group="complete">S.SURVEY_VALID_DT</select>
<select alias="SURVEY_QUAL_FLAG_NM" type="text" group="complete">SQF.QUAL_FLAG_NM</select>
<select alias="SURVEY_QUALIF_DT" type="date" group="complete">S.SURVEY_QUALIF_DT</select>
<select alias="SURVEY_QUALIF_CM" type="text" group="complete">S.SURVEY_QUALIF_CM</select>
<select alias="SURVEY_INHERITED_POSITION" type="text" group="complete">CASEWHEN(IFNULL(S.SURVEY_ACTUAL_POSITION,'0')='0','1','0')</select>
<select alias="SURVEY_BOTTOM_DEPTH" type="number" group="complete">S.SURVEY_BOTTOM_DEPTH</select>
<select alias="SURVEY_BOTTOM_DEPTH_UNIT_SYMBOL" type="number" group="complete">SBDU.UNIT_SYMBOL</select>
<select alias="SAMPLING_OPER_TIME" type="number" group="complete,pampa">SO.SAMPLING_OPER_TIME</select>
<select alias="SURVEY_BOTTOM_DEPTH" type="number" group="pampa">S.SURVEY_BOTTOM_DEPTH</select>
<select alias="SAMPLING_OPER_DEPTH" type="number" group="complete">SO.SAMPLING_OPER_DEPTH</select>
<select alias="SAMPLING_OPER_MIN_DEPTH" type="number" group="complete">SO.SAMPLING_OPER_MIN_DEPTH</select>
<select alias="SAMPLING_OPER_MAX_DEPTH" type="number" group="complete">SO.SAMPLING_OPER_MAX_DEPTH</select>
<select alias="SAMPLING_OPER_INHERITED_POSITION" type="text" group="complete">CASEWHEN(IFNULL(SO.SAMPLING_OPER_ACTUAL_POSITION,'0')='0','1','0')</select>
<select alias="SAMPLING_OPER_DEPTH_UNIT_SYMBOL" type="text" group="complete">SODU.UNIT_SYMBOL</select>
<select alias="SAMPLING_OPER_DEPTH_UNIT" type="text" group="complete">SODU.UNIT_NM</select>
<select alias="SAMPLING_OPER_CM" type="text" group="complete">SO.SAMPLING_OPER_CM</select>
<select alias="SAMPLING_EQUIPMENT_SIZE" type="number" group="complete">SE.SAMPLING_EQUIPMENT_SIZE</select>
<select alias="SAMPLING_EQUIPMENT_SIZE_UNIT_SYMBOL" type="text" group="complete">SEU.UNIT_SYMBOL</select>
<select alias="SAMPLING_OPER_NUMBER_INDIV" type="number" group="complete">SO.SAMPLING_OPER_NUMBER_INDIV</select>
<select alias="SAMPLING_OPER_CONTROL_DT" type="date" group="complete">SO.SAMPLING_OPER_CONTROL_DT</select>
<select alias="SAMPLING_OPER_VALID_DT" type="date" group="complete">SO.SAMPLING_OPER_VALID_DT</select>
<select alias="SAMPLING_OPER_QUAL_FLAG_NM" type="text" group="complete">SOQF.QUAL_FLAG_NM</select>
<select alias="SAMPLING_OPER_QUALIF_DT" type="date" group="complete">SO.SAMPLING_OPER_QUALIF_DT</select>
<select alias="SAMPLING_OPER_QUALIF_CM" type="text" group="complete">SO.SAMPLING_OPER_QUALIF_CM</select>
<select alias="SAMPLING_OPER_POSITION_LONG" type="text" group="complete">TRIM(REGEXP_SUBSTRING(SOP.SAMPLING_OPER_POSITION, '[0-9.-]+'))</select>
<select alias="SAMPLING_OPER_POSITION_LAT" type="text" group="complete">TRIM(TRIM(TRAILING ')' FROM REGEXP_SUBSTRING(SOP.SAMPLING_OPER_POSITION, '[0-9.-]+\)$')))</select>
<from alias="S">SURVEY</from>
<from join="true">INNER JOIN SURVEY_PROG PROG ON PROG.SURVEY_ID = S.SURVEY_ID</from>
<from join="true">INNER JOIN MONITORING_LOCATION ML ON ML.MON_LOC_ID = S.MON_LOC_ID</from>
<from join="true">LEFT OUTER JOIN SAMPLING_OPERATION SO ON SO.SURVEY_ID = S.SURVEY_ID</from>
<from join="true">LEFT OUTER JOIN MLOI ON MLOI.MON_LOC_ID = S.MON_LOC_ID</from>
<from join="true">LEFT OUTER JOIN SURVEY_POINT SP ON S.SURVEY_ID = SP.SURVEY_ID</from>
<from join="true">LEFT OUTER JOIN CAMPAIGN C ON C.CAMPAIGN_ID = S.CAMPAIGN_ID</from>
<from join="true">LEFT OUTER JOIN SAMPLING_EQUIPMENT SE ON SE.SAMPLING_EQUIPMENT_ID = SO.SAMPLING_EQUIPMENT_ID</from>
<from join="true">LEFT OUTER JOIN DEPARTMENT SOD ON SOD.DEP_ID = SO.DEP_ID</from>
<from join="true">LEFT OUTER JOIN QUALITY_FLAG SQF ON SQF.QUAL_FLAG_CD = S.QUAL_FLAG_CD</from>
<from join="true">LEFT OUTER JOIN SURVEY_QUSER SQ ON SQ.SURVEY_ID = S.SURVEY_ID</from>
<from join="true">LEFT OUTER JOIN QUSER Q ON Q.QUSER_ID = SQ.QUSER_ID</from>
<from join="true">LEFT OUTER JOIN DEPARTMENT QD ON QD.DEP_ID = Q.DEP_ID</from>
<from join="true">LEFT OUTER JOIN UNIT SOSU ON SOSU.UNIT_ID = SO.SAMPLING_OPER_SIZE_UNIT_ID</from>
<from join="true" group="complete">LEFT OUTER JOIN QUALITY_FLAG SOQF ON SOQF.QUAL_FLAG_CD = SO.QUAL_FLAG_CD</from>
<from join="true" group="complete">LEFT OUTER JOIN UNIT SEU ON SE.UNIT_ID = SEU.UNIT_ID</from>
<from join="true" group="complete">LEFT OUTER JOIN UNIT SODU ON SODU.UNIT_ID = SO.SAMPLING_OPER_DEPTH_UNIT_ID</from>
<from join="true" group="complete">LEFT OUTER JOIN UNIT SBDU ON SBDU.UNIT_ID = S.SURVEY_BOTTOM_DEPTH_UNIT_ID</from>
<from join="true" group="complete">LEFT OUTER JOIN SAMPLING_OPER_POINT SOP ON SOP.SAMPLING_OPER_ID = SO.SAMPLING_OPER_ID</from>
<where group="periodFilter"/>
<where operator="AND" group="programFilter">
<in field="PROG.PROG_CD"><![CDATA[&progCodes]]></in>
</where>
<where operator="AND" group="locationFilter">
<in field="S.MON_LOC_ID"><![CDATA[&monLocIds]]></in>
</where>
<where operator="AND" group="campaignFilter">
<in field="S.CAMPAIGN_ID"><![CDATA[&campaignIds]]></in>
</where>
<where operator="AND" group="departmentFilter">
<in field="S.REC_DEP_ID"><![CDATA[&depIds]]></in>
</where>
<where operator="AND" group="pmfmFilter"><![CDATA[
(
EXISTS
(
SELECT *
FROM MEASUREMENT M
WHERE M.SURVEY_ID = S.SURVEY_ID
AND M.PMFM_ID IN (&pmfmIds)
)
OR EXISTS
(
SELECT *
FROM MEASUREMENT M
WHERE M.SAMPLING_OPER_ID = SO.SAMPLING_OPER_ID
AND M.PMFM_ID IN (&pmfmIds)
)
OR EXISTS
(
SELECT *
FROM TAXON_MEASUREMENT M
WHERE M.SAMPLING_OPER_ID = SO.SAMPLING_OPER_ID
AND M.PMFM_ID IN (&pmfmIds)
)
)]]>
</where>
<groupby>S.SURVEY_ID</groupby>
<groupby>S.SURVEY_LB</groupby>
<groupby>S.SURVEY_DT</groupby>
<groupby>PROG.PROG_CD</groupby>
<groupby>S.REC_DEP_ID</groupby>
<groupby>C.CAMPAIGN_NM</groupby>
<groupby>ML.MON_LOC_ID</groupby>
<groupby>ML.MON_LOC_LB</groupby>
<groupby>ML.MON_LOC_NM</groupby>
<groupby>MLOI.ORDER_ITEM_NM</groupby>
<groupby>SO.SAMPLING_OPER_ID</groupby>
<groupby>SO.SAMPLING_OPER_LB</groupby>
<groupby>SP.SURVEY_POSITION</groupby>
<groupby>SO.SAMPLING_OPER_SIZE</groupby>
<groupby>SOSU.UNIT_SYMBOL</groupby>
<groupby>SE.SAMPLING_EQUIPMENT_NM</groupby>
<groupby>SOD.DEP_NM</groupby>
<groupby group="complete">MLOI.ORDER_ITEM_TYPE_NM</groupby>
<groupby group="complete">MLOI.ORDER_ITEM_CD</groupby>
<groupby group="complete">MLOI.MON_LOC_ORDER_ITEM_NUMBER</groupby>
<groupby group="complete">S.SURVEY_TIME</groupby>
<groupby group="complete">S.SURVEY_CM</groupby>
<groupby group="complete">S.SURVEY_CONTROL_DT</groupby>
<groupby group="complete">S.SURVEY_VALID_DT</groupby>
<groupby group="complete">SQF.QUAL_FLAG_NM</groupby>
<groupby group="complete">S.SURVEY_QUALIF_DT</groupby>
<groupby group="complete">S.SURVEY_QUALIF_CM</groupby>
<groupby group="complete">S.SURVEY_ACTUAL_POSITION</groupby>
<groupby group="complete">S.SURVEY_BOTTOM_DEPTH</groupby>
<groupby group="complete">SBDU.UNIT_SYMBOL</groupby>
<groupby group="complete,pampa">SO.SAMPLING_OPER_TIME</groupby>
<groupby group="pampa">S.SURVEY_BOTTOM_DEPTH</groupby>
<groupby group="complete">SO.SAMPLING_OPER_DEPTH</groupby>
<groupby group="complete">SO.SAMPLING_OPER_MIN_DEPTH</groupby>
<groupby group="complete">SO.SAMPLING_OPER_MAX_DEPTH</groupby>
<groupby group="complete">SO.SAMPLING_OPER_ACTUAL_POSITION</groupby>
<groupby group="complete">SODU.UNIT_SYMBOL</groupby>
<groupby group="complete">SODU.UNIT_NM</groupby>
<groupby group="complete">SO.SAMPLING_OPER_CM</groupby>
<groupby group="complete">SE.SAMPLING_EQUIPMENT_SIZE</groupby>
<groupby group="complete">SEU.UNIT_SYMBOL</groupby>
<groupby group="complete">SO.SAMPLING_OPER_NUMBER_INDIV</groupby>
<groupby group="complete">SO.SAMPLING_OPER_CONTROL_DT</groupby>
<groupby group="complete">SO.SAMPLING_OPER_VALID_DT</groupby>
<groupby group="complete">SOQF.QUAL_FLAG_NM</groupby>
<groupby group="complete">SO.SAMPLING_OPER_QUALIF_DT</groupby>
<groupby group="complete">SO.SAMPLING_OPER_QUALIF_CM</groupby>
<groupby group="complete">SOP.SAMPLING_OPER_POSITION</groupby>
<orderby direction="ASC">S.SURVEY_ID</orderby>
</query>
</queries>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!--
#%L
Dali :: Core
%%
Copyright (C) 2017 Ifremer
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
#L%
-->
<queries name="extractionCreateCommonTable">
<query type="create" temp="true" table="&amp;commonTableName" option="DISTINCT">
<select alias="SURVEY_ID" type="number">RAW.SURVEY_ID</select>
<select alias="SAMPLING_OPER_ID" type="number">RAW.SAMPLING_OPER_ID</select>
<select alias="MEAS_INDIV_ID" type="number">RAW.MEAS_INDIV_ID</select>
<select alias="REF_TAXON_NM" type="text">RAW.REF_TAXON_NM</select>
<select alias="TAXON_NAME_ID" type="number" group="simple,complete,sinp">RAW.TAXON_NAME_ID</select>
<select alias="TAXON_NAME_NM" type="text" group="simple,complete,sinp">RAW.TAXON_NAME_NM</select>
<select alias="TAXON_PAMPA" type="text" group="pampa">RAW.TAXON_PAMPA</select>
<select alias="TAXON_GROUP_NM" type="text">RAW.TAXON_GROUP_NM</select>
<from alias="RAW"><![CDATA[&rawTableName]]></from>
<where><![CDATA[RAW.MEAS_INDIV_ID IS NOT NULL]]></where>
<!-- FIXME: only if old data have to be extract: ie. GCRMN_LAREUNION_LIT_BENTHOS 07/03/2012 data have measurements and taxon_measurements for same meas_indiv_id
to avoid blank duplicated lines replace first query by:
SELECT
RAW.SURVEY_ID "SURVEY_ID",
RAW.SAMPLING_OPER_ID "SAMPLING_OPER_ID",
RAW.MEAS_INDIV_ID "MEAS_INDIV_ID",
max(RAW.REF_TAXON_NM) "REF_TAXON_NM",
max(RAW.TAXON_NAME_ID) "TAXON_NAME_ID",
max(RAW.TAXON_NAME_NM) "TAXON_NAME_NM",
max(RAW.TAXON_GROUP_NM) "TAXON_GROUP_NM"
FROM
EXT_R1583421502786 RAW
WHERE
RAW.MEAS_INDIV_ID IS NOT NULL
group by RAW.SURVEY_ID, RAW.SAMPLING_OPER_ID, RAW.MEAS_INDIV_ID
order by RAW.SURVEY_ID, RAW.SAMPLING_OPER_ID, RAW.MEAS_INDIV_ID;
-->
<union>
<!-- add non individual measurements from sampling operations -->
<subquery option="DISTINCT">
<subselect alias="SURVEY_ID" type="number">RAW.SURVEY_ID</subselect>
<subselect alias="SAMPLING_OPER_ID" type="number">RAW.SAMPLING_OPER_ID</subselect>
<subselect alias="MEAS_INDIV_ID" type="number">RAW.MEAS_INDIV_ID</subselect>
<subselect alias="REF_TAXON_NM" type="text">RAW.REF_TAXON_NM</subselect>
<subselect alias="TAXON_NAME_ID" type="number" group="simple,complete,sinp">RAW.TAXON_NAME_ID</subselect>
<subselect alias="TAXON_NAME_NM" type="text" group="simple,complete,sinp">RAW.TAXON_NAME_NM</subselect>
<subselect alias="TAXON_PAMPA" type="text" group="pampa">RAW.TAXON_PAMPA</subselect>
<subselect alias="TAXON_GROUP_NM" type="text">RAW.TAXON_GROUP_NM</subselect>
<from alias="RAW"><![CDATA[&rawTableName]]></from>
<where><![CDATA[RAW.MEAS_INDIV_ID IS NULL]]></where>
<where operator="AND"><![CDATA[RAW.SAMPLING_OPER_ID IS NOT NULL]]></where>
<where operator="AND"><![CDATA[NOT EXISTS (SELECT RAW2.SURVEY_ID FROM &rawTableName RAW2
WHERE RAW.SURVEY_ID = RAW2.SURVEY_ID
AND RAW.SAMPLING_OPER_ID = RAW2.SAMPLING_OPER_ID
AND RAW2.MEAS_INDIV_ID IS NOT NULL
)]]></where>
</subquery>
</union>
<union>
<!-- add non individual measurements from surveys -->
<subquery option="DISTINCT">
<subselect alias="SURVEY_ID" type="number">RAW.SURVEY_ID</subselect>
<subselect alias="SAMPLING_OPER_ID" type="number">RAW.SAMPLING_OPER_ID</subselect>
<subselect alias="MEAS_INDIV_ID" type="number">RAW.MEAS_INDIV_ID</subselect>
<subselect alias="REF_TAXON_NM" type="text">RAW.REF_TAXON_NM</subselect>
<subselect alias="TAXON_NAME_ID" type="number" group="simple,complete,sinp">RAW.TAXON_NAME_ID</subselect>
<subselect alias="TAXON_NAME_NM" type="text" group="simple,complete,sinp">RAW.TAXON_NAME_NM</subselect>
<subselect alias="TAXON_PAMPA" type="text" group="pampa">RAW.TAXON_PAMPA</subselect>
<subselect alias="TAXON_GROUP_NM" type="text">RAW.TAXON_GROUP_NM</subselect>
<from alias="RAW"><![CDATA[&rawTableName]]></from>
<where><![CDATA[RAW.MEAS_INDIV_ID IS NULL]]></where>
<where operator="AND"><![CDATA[RAW.SAMPLING_OPER_ID IS NULL]]></where>
<where operator="AND"><![CDATA[NOT EXISTS (SELECT RAW2.SURVEY_ID FROM &rawTableName RAW2
WHERE RAW.SURVEY_ID = RAW2.SURVEY_ID
AND ( (RAW2.SAMPLING_OPER_ID IS NULL AND RAW2.MEAS_INDIV_ID IS NOT NULL)
OR (RAW2.SAMPLING_OPER_ID IS NOT NULL AND RAW2.MEAS_INDIV_ID IS NULL) )
)]]></where>
</subquery>
</union>
</query>
</queries>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!--
#%L
Dali :: Core
%%
Copyright (C) 2017 Ifremer
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
#L%
-->
<queries name="extractionCreatePmfmTable">
<query type="create" temp="true" table="&amp;pmfmTableName" option="DISTINCT">
<select alias="PARENT_ID" type="number"><![CDATA[&parentId]]></select>
<select alias="IS_SURVEY_MEAS" type="number">IS_SURVEY_MEAS</select>
<select alias="MEAS_INDIV_ID" type="number">MEAS_INDIV_ID</select>
<select alias="PMFM_ID" type="number">PMFM_ID</select>
<select alias="MEAS_NUMER_VALUE" type="number">MEAS_NUMER_VALUE</select>
<select alias="QUAL_VALUE_ID" type="number">QUAL_VALUE_ID</select>
<select alias="QUAL_VALUE_NM" type="text">QUAL_VALUE_NM</select>
<select alias="MEAS_CM" type="text">MEAS_CM</select>
<select alias="DEP_NM" type="text">DEP_NM</select>
<select alias="MEAS_ID" type="number">MEAS_ID</select>
<select alias="TAXON_MEAS_ID" type="number">TAXON_MEAS_ID</select>
<select alias="MEAS_QUAL_FLAG_NM" type="text">MEAS_QUAL_FLAG_NM</select>
<select alias="MEAS_QUALIF_DT" type="text">TO_CHAR(MEAS_QUALIF_DT, 'DD/MM/YYYY')</select>
<select alias="MEAS_QUALIF_CM" type="text">MEAS_QUALIF_CM</select>
<from><![CDATA[&rawTableName]]></from>
<where><![CDATA[PMFM_ID = &pmfmId]]></where>
<where operator="AND"><![CDATA[IS_SURVEY_MEAS = &isSurveyMeas]]></where>
<where operator="AND"><![CDATA[MEAS_INDIV_ID IS &measIndivId]]></where>
</query>
</queries>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!--
#%L
Dali :: Core
%%
Copyright (C) 2017 Ifremer
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
#L%
-->
<queries name="extractionCreateRawTable">
<query type="create" temp="true" table="&amp;rawTableName">
<with alias="ALT" group="pampa">
<subquery>
<subselect alias="TAXON_NAME_ID" type="number">TAXON_NAME_ID</subselect>
<subselect alias="ALTERN_TAXON_CD" type="number">ALTERN_TAXON_CD</subselect>
<from>ALTERNATIVE_TAXON</from>
<where><![CDATA[ALTERN_TAXON_ORIGIN_CD = '&alternativeTaxonOriginPampa']]></where>
</subquery>
</with>
<!-- BASE SELECT + SURVEY MEASUREMENTS-->
<select alias="SURVEY_ID" type="number">BASE.SURVEY_ID</select>
<select alias="SAMPLING_OPER_ID" type="number">NULL</select>
<select alias="MEAS_ID" type="number">SM.REMOTE_ID</select>
<select alias="TAXON_MEAS_ID" type="number">NULL</select>
<select alias="IS_SURVEY_MEAS" type="number">1</select>
<select alias="MEAS_INDIV_ID" type="number">SM.MEAS_INDIV_ID</select>
<select alias="REF_TAXON_ID" type="number">NULL</select>
<select alias="REF_TAXON_NM" type="text">NULL</select>
<select alias="TAXON_NAME_ID" type="number" group="simple,complete,sinp">NULL</select>
<select alias="TAXON_NAME_NM" type="text" group="simple,complete,sinp">NULL</select>
<select alias="TAXON_PAMPA" type="text" group="pampa">NULL</select>
<select alias="TAXON_GROUP_ID" type="number">NULL</select>
<select alias="TAXON_GROUP_NM" type="text">NULL</select>
<select alias="PMFM_ID" type="number">SM.PMFM_ID</select>
<select alias="MEAS_NUMER_VALUE" type="number">SM.MEAS_NUMER_VALUE</select>
<select alias="QUAL_VALUE_ID" type="number">QV.QUAL_VALUE_ID</select>
<select alias="QUAL_VALUE_NM" type="number">QV.QUAL_VALUE_NM</select>
<select alias="MEAS_CM" type="text">SM.MEAS_CM</select>
<select alias="DEP_NM" type="text">D.DEP_NM</select>
<select alias="MEAS_QUAL_FLAG_NM" type="text">QF.QUAL_FLAG_NM</select>
<select alias="MEAS_QUALIF_DT" type="date">SM.MEAS_QUALIF_DT</select>
<select alias="MEAS_QUALIF_CM" type="text">SM.MEAS_QUALIF_CM</select>
<from alias="BASE"><![CDATA[&baseTableName]]></from>
<from join="true">INNER JOIN MEASUREMENT SM ON BASE.SURVEY_ID = SM.SURVEY_ID</from>
<from join="true">LEFT OUTER JOIN DEPARTMENT D ON SM.DEP_ID = D.DEP_ID</from>
<from join="true">LEFT OUTER JOIN QUALITATIVE_VALUE QV ON SM.QUAL_VALUE_ID = QV.QUAL_VALUE_ID</from>
<from join="true">LEFT OUTER JOIN QUALITY_FLAG QF ON QF.QUAL_FLAG_CD = SM.QUAL_FLAG_CD</from>
<union>
<!-- BASE SELECT + SURVEY TAXON MEASUREMENTS -->
<subquery>
<subselect alias="SURVEY_ID" type="number">BASE.SURVEY_ID</subselect>
<subselect alias="SAMPLING_OPER_ID" type="number">NULL</subselect>
<subselect alias="MEAS_ID" type="number">NULL</subselect>
<subselect alias="TAXON_MEAS_ID" type="number">STM.REMOTE_ID</subselect>
<subselect alias="IS_SURVEY_MEAS" type="number">1</subselect>
<subselect alias="MEAS_INDIV_ID" type="number">STM.TAXON_MEAS_INDIV_ID</subselect>
<subselect alias="REF_TAXON_ID" type="number">TN.TAXON_NAME_ID</subselect>
<subselect alias="REF_TAXON_NM" type="text">TN.TAXON_NAME_COMPLETE_NM</subselect>
<subselect alias="TAXON_NAME_ID" type="number" group="simple,complete,sinp">STM.TAXON_NAME_ID</subselect> <!-- = INPUT_TAXON_ID -->
<subselect alias="TAXON_NAME_NM" type="text" group="simple,complete,sinp">STM.TAXON_NAME_NM</subselect> <!-- = INPUT_TAXON_NM -->
<subselect alias="TAXON_PAMPA" type="text" group="pampa">ALT.ALTERN_TAXON_CD</subselect>
<subselect alias="TAXON_GROUP_ID" type="number">TG.TAXON_GROUP_ID</subselect>
<subselect alias="TAXON_GROUP_NM" type="text">TG.TAXON_GROUP_NM</subselect>
<subselect alias="PMFM_ID" type="number">STM.PMFM_ID</subselect>
<subselect alias="MEAS_NUMER_VALUE" type="number">STM.TAXON_MEAS_NUMER_VALUE</subselect>
<subselect alias="QUAL_VALUE_ID" type="number">QV.QUAL_VALUE_ID</subselect>
<subselect alias="QUAL_VALUE_NM" type="number">QV.QUAL_VALUE_NM</subselect>
<subselect alias="MEAS_CM" type="text">STM.TAXON_MEAS_CM</subselect>
<subselect alias="DEP_NM" type="text">D.DEP_NM</subselect>
<subselect alias="MEAS_QUAL_FLAG_NM" type="text">QF.QUAL_FLAG_NM</subselect>
<subselect alias="MEAS_QUALIF_DT" type="date">STM.TAXON_MEAS_QUALIF_DT</subselect>
<subselect alias="MEAS_QUALIF_CM" type="text">STM.TAXON_MEAS_QUALIF_CM</subselect>
<from alias="BASE"><![CDATA[&baseTableName]]></from>
<from join="true">INNER JOIN TAXON_MEASUREMENT STM ON BASE.SURVEY_ID = STM.SURVEY_ID</from>
<from join="true">LEFT OUTER JOIN DEPARTMENT D ON STM.DEP_ID = D.DEP_ID</from>
<from join="true">LEFT OUTER JOIN QUALITATIVE_VALUE QV ON STM.QUAL_VALUE_ID = QV.QUAL_VALUE_ID</from>
<from join="true">LEFT OUTER JOIN TAXON_GROUP TG ON STM.TAXON_GROUP_ID = TG.TAXON_GROUP_ID</from>
<from join="true">LEFT OUTER JOIN TAXON_NAME TN ON STM.REF_TAXON_ID = TN.REF_TAXON_ID AND TN.TAXON_NAME_IS_REFER = 1</from>
<from join="true">LEFT OUTER JOIN QUALITY_FLAG QF ON QF.QUAL_FLAG_CD = STM.QUAL_FLAG_CD</from>
<from join="true" group="pampa">LEFT OUTER JOIN ALT ON ALT.TAXON_NAME_ID = TN.TAXON_NAME_ID</from>
</subquery>
</union>
<union>
<!-- BASE SELECT + SAMPLING OPERATION MEASUREMENTS -->
<subquery>
<subselect alias="SURVEY_ID" type="number">BASE.SURVEY_ID</subselect>
<subselect alias="SAMPLING_OPER_ID" type="number">BASE.SAMPLING_OPER_ID</subselect>
<subselect alias="MEAS_ID" type="number">SOM.REMOTE_ID</subselect>
<subselect alias="TAXON_MEAS_ID" type="number">NULL</subselect>
<subselect alias="IS_SURVEY_MEAS" type="number">0</subselect>
<subselect alias="MEAS_INDIV_ID" type="number">SOM.MEAS_INDIV_ID</subselect>
<subselect alias="REF_TAXON_ID" type="number">NULL</subselect>
<subselect alias="REF_TAXON_NM" type="text">NULL</subselect>
<subselect alias="TAXON_NAME_ID" type="number" group="simple,complete,sinp">NULL</subselect>
<subselect alias="TAXON_NAME_NM" type="text" group="simple,complete,sinp">NULL</subselect>
<subselect alias="TAXON_PAMPA" type="text" group="pampa">NULL</subselect>
<subselect alias="TAXON_GROUP_ID" type="number">NULL</subselect>
<subselect alias="TAXON_GROUP_NM" type="text">NULL</subselect>
<subselect alias="PMFM_ID" type="number">SOM.PMFM_ID</subselect>
<subselect alias="MEAS_NUMER_VALUE" type="number">SOM.MEAS_NUMER_VALUE</subselect>
<subselect alias="QUAL_VALUE_ID" type="number">QV.QUAL_VALUE_ID</subselect>
<subselect alias="QUAL_VALUE_NM" type="number">QV.QUAL_VALUE_NM</subselect>
<subselect alias="MEAS_CM" type="text">SOM.MEAS_CM</subselect>
<subselect alias="DEP_NM" type="text">D.DEP_NM</subselect>
<subselect alias="MEAS_QUAL_FLAG_NM" type="text">QF.QUAL_FLAG_NM</subselect>
<subselect alias="MEAS_QUALIF_DT" type="date">SOM.MEAS_QUALIF_DT</subselect>
<subselect alias="MEAS_QUALIF_CM" type="text">SOM.MEAS_QUALIF_CM</subselect>
<from alias="BASE"><![CDATA[&baseTableName]]></from>
<from join="true">INNER JOIN MEASUREMENT SOM ON BASE.SAMPLING_OPER_ID = SOM.SAMPLING_OPER_ID</from>
<from join="true">LEFT OUTER JOIN DEPARTMENT D ON SOM.DEP_ID = D.DEP_ID</from>
<from join="true">LEFT OUTER JOIN QUALITATIVE_VALUE QV ON SOM.QUAL_VALUE_ID = QV.QUAL_VALUE_ID</from>
<from join="true">LEFT OUTER JOIN QUALITY_FLAG QF ON QF.QUAL_FLAG_CD = SOM.QUAL_FLAG_CD</from>
</subquery>
</union>
<union>
<!-- BASE SELECT + SAMPLING OPERATION TAXON MEASUREMENTS -->
<subquery>
<subselect alias="SURVEY_ID" type="number">BASE.SURVEY_ID</subselect>
<subselect alias="SAMPLING_OPER_ID" type="number">BASE.SAMPLING_OPER_ID</subselect>
<subselect alias="MEAS_ID" type="number">NULL</subselect>
<subselect alias="TAXON_MEAS_ID" type="number">SOTM.REMOTE_ID</subselect>
<subselect alias="IS_SURVEY_MEAS" type="number">0</subselect>
<subselect alias="MEAS_INDIV_ID" type="number">SOTM.TAXON_MEAS_INDIV_ID</subselect>
<subselect alias="REF_TAXON_ID" type="number">TN.TAXON_NAME_ID</subselect>
<subselect alias="REF_TAXON_NM" type="text">TN.TAXON_NAME_COMPLETE_NM</subselect>
<subselect alias="TAXON_NAME_ID" type="number" group="simple,complete,sinp">SOTM.TAXON_NAME_ID</subselect> <!-- = INPUT_TAXON_ID -->
<subselect alias="TAXON_NAME_NM" type="text" group="simple,complete,sinp">SOTM.TAXON_NAME_NM</subselect> <!-- = INPUT_TAXON_NM -->
<subselect alias="TAXON_PAMPA" type="text" group="pampa">ALT.ALTERN_TAXON_CD</subselect>
<subselect alias="TAXON_GROUP_ID" type="number">TG.TAXON_GROUP_ID</subselect>
<subselect alias="TAXON_GROUP_NM" type="text">TG.TAXON_GROUP_NM</subselect>
<subselect alias="PMFM_ID" type="number">SOTM.PMFM_ID</subselect>
<subselect alias="MEAS_NUMER_VALUE" type="number">SOTM.TAXON_MEAS_NUMER_VALUE</subselect>
<subselect alias="QUAL_VALUE_ID" type="number">QV.QUAL_VALUE_ID</subselect>
<subselect alias="QUAL_VALUE_NM" type="number">QV.QUAL_VALUE_NM</subselect>
<subselect alias="MEAS_CM" type="text">SOTM.TAXON_MEAS_CM</subselect>
<subselect alias="DEP_NM" type="text">D.DEP_NM</subselect>
<subselect alias="MEAS_QUAL_FLAG_NM" type="text">QF.QUAL_FLAG_NM</subselect>
<subselect alias="MEAS_QUALIF_DT" type="date">SOTM.TAXON_MEAS_QUALIF_DT</subselect>
<subselect alias="MEAS_QUALIF_CM" type="text">SOTM.TAXON_MEAS_QUALIF_CM</subselect>
<from alias="BASE"><![CDATA[&baseTableName]]></from>
<from join="true">INNER JOIN TAXON_MEASUREMENT SOTM ON BASE.SAMPLING_OPER_ID = SOTM.SAMPLING_OPER_ID</from>
<from join="true">LEFT OUTER JOIN DEPARTMENT D ON SOTM.DEP_ID = D.DEP_ID</from>
<from join="true">LEFT OUTER JOIN QUALITATIVE_VALUE QV ON SOTM.QUAL_VALUE_ID = QV.QUAL_VALUE_ID</from>
<from join="true">LEFT OUTER JOIN TAXON_GROUP TG ON SOTM.TAXON_GROUP_ID = TG.TAXON_GROUP_ID</from>
<from join="true">LEFT OUTER JOIN TAXON_NAME TN ON SOTM.REF_TAXON_ID = TN.REF_TAXON_ID AND TN.TAXON_NAME_IS_REFER = 1</from>
<from join="true">LEFT OUTER JOIN QUALITY_FLAG QF ON QF.QUAL_FLAG_CD = SOTM.QUAL_FLAG_CD</from>
<from join="true" group="pampa">LEFT OUTER JOIN ALT ON ALT.TAXON_NAME_ID = TN.TAXON_NAME_ID</from>
</subquery>
</union>
</query>
</queries>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!--
#%L
Dali :: Core
%%
Copyright (C) 2017 Ifremer
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
#L%
-->
<queries name="extractionCreateResultTable">
<query type="create" temp="true" table="&amp;resultTableName" option="DISTINCT">
<select alias="SURVEY_PROG_CD" type="text">S.SURVEY_PROG_CD</select>
<select alias="MON_LOC_NM" type="text">S.MON_LOC_NM</select>
<select alias="SURVEY_DT" type="date">S.SURVEY_DT</select>
<select alias="SAMPLING_OPER_LB" type="text">SO.SAMPLING_OPER_LB</select>
<select alias="REF_TAXON_NM" type="text">C.REF_TAXON_NM</select>
<select alias="TAXON_GROUP_NM" type="text">C.TAXON_GROUP_NM</select>
<select alias="MEAS_INDIV_ID" type="number">C.MEAS_INDIV_ID</select>
<injection name="surveyIndividualMeasurements" type="select" group="surveyIndividualMeasurements"/>
<injection name="samplingIndividualMeasurements" type="select" group="samplingIndividualMeasurements"/>
<injection name="samplingMeasurements" type="select" group="samplingMeasurements"/>
<injection name="surveyMeasurements" type="select" group="surveyMeasurements"/>
<select alias="MEAS_ANALYST_NM" type="text"><![CDATA[CONCAT_DISTINCT_STRING(ARRAY[&depNmFields],',')]]></select>
<select alias="CAMPAIGN_NM" type="text">S.CAMPAIGN_NM</select>
<select alias="MON_LOC_ID" type="number">S.MON_LOC_ID</select>
<select alias="MON_LOC_LB" type="text">S.MON_LOC_LB</select>
<select alias="ORDER_ITEM_NM" type="text">S.ORDER_ITEM_NM</select>
<select alias="SURVEY_POSITION_LONG_MIN" type="number">CONVERT(S.SURVEY_POSITION_LONG, DECIMAL(12,8))</select>
<select alias="SURVEY_POSITION_LONG_MAX" type="number">CONVERT(S.SURVEY_POSITION_LONG, DECIMAL(12,8))</select>
<select alias="SURVEY_POSITION_LAT_MIN" type="number">CONVERT(S.SURVEY_POSITION_LAT, DECIMAL(12,8))</select>
<select alias="SURVEY_POSITION_LAT_MAX" type="number">CONVERT(S.SURVEY_POSITION_LAT, DECIMAL(12,8))</select>
<select alias="SAMPLING_EQUIPMENT_NM" type="text">SO.SAMPLING_EQUIPMENT_NM</select>
<select alias="SAMPLING_OPER_DEP_NM" type="text">SO.SAMPLING_OPER_DEP_NM</select>
<select alias="SURVEY_QUSERS" type="text" group="simple,complete,sinp">S.SURVEY_QUSERS</select>
<select alias="SURVEY_LB" type="text">S.SURVEY_LB</select>
<select alias="SAMPLING_OPER_SIZE" type="number">SO.SAMPLING_OPER_SIZE</select>
<select alias="SAMPLING_OPER_SIZE_UNIT_SYMBOL" type="text">SO.SAMPLING_OPER_SIZE_UNIT_SYMBOL</select>
<select alias="MEAS_CM" type="text"><![CDATA[CONCAT_DISTINCT_STRING(ARRAY[&measCmFields],' - ')]]></select>
<select alias="SAMPLING_OPER_ID" type="number" group="pampa">SO.SAMPLING_OPER_ID</select>
<select alias="SAMPLING_OPER_TIME" type="text" group="pampa">TO_CHAR(TIMESTAMP(SO.SAMPLING_OPER_TIME), 'HH24:MI:SS')</select>
<select alias="SURVEY_BOTTOM_DEPTH" type="number" group="pampa">S.SURVEY_BOTTOM_DEPTH</select>
<select alias="SURVEY_QUSERS" type="text" group="pampa">S.SURVEY_QUSERS</select>
<select alias="TAXON_PAMPA" type="text" group="pampa">C.TAXON_PAMPA</select>
<select alias="TAXON_NAME_NM" type="text" group="simple,complete,sinp">C.TAXON_NAME_NM</select>
<select alias="MEAS_QUAL_FLAG_NM" type="text"><![CDATA[DISTINCT_MEAS_QUAL_FLAG_NM(ARRAY[&measQualFlagFields],&measQualFlagDefault)]]></select>
<select alias="MEAS_QUALIF_DT" type="text"><![CDATA[CONCAT_DISTINCT_STRING(ARRAY[&measQualifDtFields],',')]]></select>
<select alias="MEAS_QUALIF_CM" type="text"><![CDATA[DISTINCT_MEAS_QUALIF_CM(ARRAY[&measQualifCmFields],&measQualifCmDefault)]]></select>
<select alias="TAXON_NAME_ID" type="number" group="simple,complete,sinp">C.TAXON_NAME_ID</select>
<select alias="MEAS_IDS" type="text" group="simple,complete,sinp"><![CDATA[CONCAT_DISTINCT_INTEGER(ARRAY[&measIdFields],'|')]]></select>
<select alias="TAXON_MEAS_IDS" type="text" group="simple,complete,sinp"><![CDATA[CONCAT_DISTINCT_INTEGER(ARRAY[&taxonMeasIdFields],'|')]]></select>
<select alias="ORDER_ITEM_TYPE_NM" type="text" group="complete">S.ORDER_ITEM_TYPE_NM</select>
<select alias="ORDER_ITEM_CD" type="text" group="complete">S.ORDER_ITEM_CD</select>
<select alias="MON_LOC_ORDER_ITEM_NUMBER" type="number" group="complete">S.MON_LOC_ORDER_ITEM_NUMBER</select>
<select alias="SURVEY_TIME" type="text" group="complete">TO_CHAR(TIMESTAMP(S.SURVEY_TIME), 'HH24:MI:SS')</select>
<select alias="SURVEY_CM" type="text" group="complete">S.SURVEY_CM</select>
<select alias="SURVEY_CONTROL_DT" type="date" group="complete">S.SURVEY_CONTROL_DT</select>
<select alias="SURVEY_VALID_DT" type="date" group="complete">S.SURVEY_VALID_DT</select>
<select alias="SURVEY_QUAL_FLAG_NM" type="text" group="complete">S.SURVEY_QUAL_FLAG_NM</select>
<select alias="SURVEY_QUALIF_DT" type="date" group="complete">S.SURVEY_QUALIF_DT</select>
<select alias="SURVEY_QUALIF_CM" type="text" group="complete">S.SURVEY_QUALIF_CM</select>
<select alias="SURVEY_INHERITED_POSITION" type="text" group="complete">S.SURVEY_INHERITED_POSITION</select>
<select alias="SURVEY_BOTTOM_DEPTH" type="number" group="complete">S.SURVEY_BOTTOM_DEPTH</select>
<select alias="SURVEY_BOTTOM_DEPTH_UNIT_SYMBOL" type="number" group="complete">S.SURVEY_BOTTOM_DEPTH_UNIT_SYMBOL</select>
<select alias="SAMPLING_OPER_TIME" type="text" group="complete">TO_CHAR(TIMESTAMP(SO.SAMPLING_OPER_TIME), 'HH24:MI:SS')</select>
<select alias="SAMPLING_OPER_DEPTH" type="number" group="complete">SO.SAMPLING_OPER_DEPTH</select>
<select alias="SAMPLING_OPER_MIN_DEPTH" type="number" group="complete">SO.SAMPLING_OPER_MIN_DEPTH</select>
<select alias="SAMPLING_OPER_MAX_DEPTH" type="number" group="complete">SO.SAMPLING_OPER_MAX_DEPTH</select>
<select alias="SAMPLING_OPER_INHERITED_POSITION" type="text" group="complete">SO.SAMPLING_OPER_INHERITED_POSITION</select>
<select alias="SAMPLING_OPER_DEPTH_UNIT_SYMBOL" type="text" group="complete">SO.SAMPLING_OPER_DEPTH_UNIT_SYMBOL</select>
<select alias="SAMPLING_OPER_DEPTH_UNIT" type="text" group="complete">SO.SAMPLING_OPER_DEPTH_UNIT</select>
<select alias="SAMPLING_OPER_CM" type="text" group="complete">SO.SAMPLING_OPER_CM</select>
<select alias="SAMPLING_EQUIPMENT_SIZE" type="number" group="complete">SO.SAMPLING_EQUIPMENT_SIZE</select>
<select alias="SAMPLING_EQUIPMENT_SIZE_UNIT_SYMBOL" type="text" group="complete">SO.SAMPLING_EQUIPMENT_SIZE_UNIT_SYMBOL</select>
<select alias="SAMPLING_OPER_NUMBER_INDIV" type="number" group="complete">SO.SAMPLING_OPER_NUMBER_INDIV</select>
<select alias="SAMPLING_OPER_CONTROL_DT" type="date" group="complete">SO.SAMPLING_OPER_CONTROL_DT</select>
<select alias="SAMPLING_OPER_VALID_DT" type="date" group="complete">SO.SAMPLING_OPER_VALID_DT</select>
<select alias="SAMPLING_OPER_QUAL_FLAG_NM" type="text" group="complete">SO.SAMPLING_OPER_QUAL_FLAG_NM</select>
<select alias="SAMPLING_OPER_QUALIF_DT" type="date" group="complete">SO.SAMPLING_OPER_QUALIF_DT</select>
<select alias="SAMPLING_OPER_QUALIF_CM" type="text" group="complete">SO.SAMPLING_OPER_QUALIF_CM</select>
<select alias="SAMPLING_OPER_POSITION_LONG_MIN" type="number" group="complete">CONVERT(SO.SAMPLING_OPER_POSITION_LONG, DECIMAL(12,8))</select>
<select alias="SAMPLING_OPER_POSITION_LONG_MAX" type="number" group="complete">CONVERT(SO.SAMPLING_OPER_POSITION_LONG, DECIMAL(12,8))</select>
<select alias="SAMPLING_OPER_POSITION_LAT_MIN" type="number" group="complete">CONVERT(SO.SAMPLING_OPER_POSITION_LAT, DECIMAL(12,8))</select>
<select alias="SAMPLING_OPER_POSITION_LAT_MAX" type="number" group="complete">CONVERT(SO.SAMPLING_OPER_POSITION_LAT, DECIMAL(12,8))</select>
<from alias="C"><![CDATA[&commonTableName]]></from>
<from join="true"><![CDATA[INNER JOIN &baseTableName S ON S.SURVEY_ID = C.SURVEY_ID]]></from>
<from join="true"><![CDATA[LEFT OUTER JOIN &baseTableName SO ON SO.SURVEY_ID = C.SURVEY_ID AND SO.SAMPLING_OPER_ID = C.SAMPLING_OPER_ID]]></from>
</query>
</queries>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!--
#%L
Dali :: Core
%%
Copyright (C) 2017 Ifremer
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
#L%
-->
<where><![CDATA[(S.SURVEY_DT >= TO_DATE('&PERIOD_startDate','DD/MM/YYYY') AND S.SURVEY_DT <= TO_DATE('&PERIOD_endDate','DD/MM/YYYY'))]]></where>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!--
#%L
Dali :: Core
%%
Copyright (C) 2017 Ifremer
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
#L%
-->
<query type="select">
<select alias="PMFM_ALIAS" type="number" group="PMFM_ALIAS_numerical_without_zero"><![CDATA[PMFM_ALIAS.MEAS_NUMER_VALUE]]></select>
<select alias="PMFM_ALIAS" type="number" group="PMFM_ALIAS_numerical_with_zero"><![CDATA[NVL(PMFM_ALIAS.MEAS_NUMER_VALUE,0)]]></select>
<select alias="PMFM_ALIAS" type="text" group="PMFM_ALIAS_qualitative"><![CDATA[PMFM_ALIAS.QUAL_VALUE_NM]]></select>
<from join="true" group="PMFM_ALIAS_surveyJoin">
<![CDATA[LEFT OUTER JOIN &PMFM_ALIAS_pmfmTableName PMFM_ALIAS ON PMFM_ALIAS.PARENT_ID = C.SURVEY_ID]]>
</from>
<from join="true" group="PMFM_ALIAS_samplingOperationJoin">
<![CDATA[LEFT OUTER JOIN &PMFM_ALIAS_pmfmTableName PMFM_ALIAS ON PMFM_ALIAS.PARENT_ID = C.SAMPLING_OPER_ID]]>
</from>
<from join="true" group="PMFM_ALIAS_surveyJoin_individual">
<![CDATA[LEFT OUTER JOIN &PMFM_ALIAS_pmfmTableName PMFM_ALIAS ON PMFM_ALIAS.PARENT_ID = C.SURVEY_ID AND PMFM_ALIAS.MEAS_INDIV_ID = C.MEAS_INDIV_ID]]>
</from>
<from join="true" group="PMFM_ALIAS_samplingOperationJoin_individual">
<![CDATA[LEFT OUTER JOIN &PMFM_ALIAS_pmfmTableName PMFM_ALIAS ON PMFM_ALIAS.PARENT_ID = C.SAMPLING_OPER_ID AND PMFM_ALIAS.MEAS_INDIV_ID = C.MEAS_INDIV_ID]]>
</from>
</query>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!--
#%L
Dali :: Core
%%
Copyright (C) 2017 Ifremer
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
#L%
-->
<queries name="extractionPmfmInfo">
<query type="select" option="DISTINCT">
<select alias="PMFM_ID" type="number">PMFM_ID</select>
<select alias="IS_SURVEY_MEAS" type="number">IS_SURVEY_MEAS</select>
<select alias="IS_INDIVIDUAL" type="number">CASE WHEN MEAS_INDIV_ID IS NULL THEN 0 ELSE 1 END</select>
<from><![CDATA[&rawTableName]]></from>
<where group="pmfmFilter">
<in field="PMFM_ID"><![CDATA[&pmfmIds]]></in>
</where>
</query>
</queries>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!--
#%L
Dali :: Core
%%
Copyright (C) 2017 Ifremer
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
#L%
-->
<queries name="extractionProgramCodes">
<query type="select" option="DISTINCT">
<select alias="SURVEY_PROG_CD" type="text">SURVEY_PROG_CD</select>
<from><![CDATA[&baseTableName]]></from>
</query>
</queries>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!--
#%L
Dali :: Core
%%
Copyright (C) 2017 Ifremer
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
#L%
-->
<queries name="extractionSelectResultTable">
<query type="select">
<select alias="" type="hidden">*</select>
<from><![CDATA[&resultTableName]]></from>
<orderby direction="ASC">SURVEY_PROG_CD, MON_LOC_NM, SURVEY_DT, SURVEY_LB, SAMPLING_OPER_LB, MEAS_INDIV_ID</orderby>
</query>
</queries>
\ No newline at end of file
......@@ -54,6 +54,7 @@ fr.ifremer.reefdb.dto.referential.GroupingTypeDTO.attribute.grouping.stereotype=
fr.ifremer.reefdb.dto.referential.TaxonGroupDTO.attribute.taxons.stereotype=ordered
fr.ifremer.reefdb.dto.referential.TaxonDTO.attribute.taxonGroups.stereotype=ordered
fr.ifremer.reefdb.dto.referential.pmfm.ParameterDTO.attribute.qualitativeValues.stereotype=ordered
fr.ifremer.reefdb.dto.referential.pmfm.PmfmDTO.attribute.qualitativeValues.stereotype=ordered
fr.ifremer.reefdb.dto.referential.pmfm.MatrixDTO.attribute.fractions.stereotype=unique
fr.ifremer.reefdb.dto.referential.pmfm.FractionDTO.attribute.matrixes.stereotype=unique
......