Author: tchemit Date: 2013-01-17 09:16:18 +0100 (Thu, 17 Jan 2013) New Revision: 213 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/213 Log: add referential page on site Added: trunk/src/site/rst/referential.rst Modified: trunk/pom.xml trunk/src/site/site_fr.xml Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2013-01-16 22:43:39 UTC (rev 212) +++ trunk/pom.xml 2013-01-17 08:16:18 UTC (rev 213) @@ -585,6 +585,7 @@ <groupId>org.nuiton</groupId> <artifactId>nuiton-utils-maven-report-plugin</artifactId> <version>${nuitonUtilsVersion}</version> + <inherited>false</inherited> <reportSets> <reportSet> <reports> Copied: trunk/src/site/rst/referential.rst (from rev 211, trunk/tutti-persistence-adagio/src/main/site/rst/referential.rst) =================================================================== --- trunk/src/site/rst/referential.rst (rev 0) +++ trunk/src/site/rst/referential.rst 2013-01-17 08:16:18 UTC (rev 213) @@ -0,0 +1,630 @@ +.. - +.. * #%L +.. * Tutti :: Persistence Adagio (impl) +.. * $Id$ +.. * $HeadURL$ +.. * %% +.. * Copyright (C) 2012 - 2013 Ifremer +.. * %% +.. * This program is free software: you can redistribute it and/or modify +.. * it under the terms of the GNU 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 General Public +.. * License along with this program. If not, see +.. * <http://www.gnu.org/licenses/gpl-3.0.html>. +.. * #L% +.. - + +=================== +Tutti - Référentiel +=================== + +Présentation +~~~~~~~~~~~~ + +Ce document décrit comment sont récupérées les données du référentiel. + +Chaque requète a un nom du style **[REF-XXX]**. + +Les requètes métier +~~~~~~~~~~~~~~~~~~~ + ++-----------------------------------------------------+------+-----------------------------------------------------+ +| Nom requète | Etat | Commentaire | ++=====================================================+======+=====================================================+ +| [REF-01] Liste des zones d'une série de campagne | KO | Définir le niveau LocationLevel | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-02] Liste des pays | OK | | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-03] Liste des navires (scientifique) | OK | Requète très longue il faut optimiser | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-04] Liste des navires (pro) | OK | Requète très longue il faut optimiser | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-05] Liste des engins (scientifique) | OK | | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-06] Liste des engins (pro) | OK | | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-07] Liste des utilisateurs | OK | Doit-on utliser limiter aux membres de l'Ifremer ? | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-08] Liste des espèces | OK | Utilisation de synonymes via import refTax ? | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-09] Liste des psfm mesure de classe de taille | OK | | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-10] Liste des psfm (mise en oeuvre de l'engin) | OK | | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-11] Liste des psfm (environnement) | OK | | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-12] Liste des psfm (hydrologique) | KO | Données à regrouper en base avec un ParameterGroup ?| ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-13] Liste des strates | KO | Pouvoir les lier aux zones | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-14] Liste des sous-strates | KO | Pouvoir les lier aux zones / strates | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-15] Liste des localités | KO | Pouvoir les lier aux zones / strates / sous-strates| ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-16] Conversion Taille-poids | TODO | | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-17] Liste des espèces (écran benthos) | KO | Valider comment on filtre (sur le protocole ?) | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-18] Liste des espèces (écran plancton) | KO | Valider comment on filtre (sur le protocole ?) | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-19] Catégorie de macro-déchets | KO | Créer les données en base | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-20] Catégorie de taille macro-déchets | KO | Créer les données en base | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-21] Liste des espèces (écran accidentelles) | OK | | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-22] Liste des psfm (écran accidentelles) | TODO | Définir ce qu'on peut mettre ici (protocole ?) | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-23] Catégorie H/VC | OK | | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-24] Catégorie Classe. Tri | OK | | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-25] Catégorie Sexe | OK | | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-26] Catégorie Maturité | KO | psfm à utiliser (MATURITY \ MATURITY_STAGE_5_VISUAL)| ++-----------------------------------------------------+------+-----------------------------------------------------+ + +[REF-01] Liste des zones d'une série de campagne +------------------------------------------------ + +:: + + SELECT + l.id, + l.label, + l.name, + l.status + FROM LocationImpl l + WHERE + l.locationLevel.id = :locationLevelId + AND l.status.code IN (1, 2) + +Paramètres : + +- :locationLevelId = *LocationLevelId.PROGRAM* + +*État:* À Valider et définir la valeur de la constante. + +[REF-02] Liste des pays +----------------------- + +:: + + SELECT + l.id, + l.label, + l.name, + l.status + FROM LocationImpl l + WHERE + l.locationLevel.id = :locationLevelId + AND l.status.code IN (1, 2) + + +Paramètres : + +- :locationLevelId = *LocationLevelId.PAYS_ISO3* + +*État:* Valide. + +[REF-03] Liste des navires (scientifique) +----------------------------------------- + +:: + + SELECT + v.code AS vesselCode, + vrp.registrationCode AS nationalRegistrationCode, + vrp.internationalRegistrationCode as internationalRegistrationCode, + vf.name AS vesselName, + v.status AS status + FROM + VesselImpl v + INNER JOIN v.vesselRegistrationPeriods AS vrp + LEFT OUTER JOIN v.vesselFeatures AS vf + WHERE v.vesselType.id = :vesselTypeId + AND v.status.code IN (1, 2) + AND vrp.vesselRegistrationPeriodPk.startDateTime = + ( + SELECT MAX(vrp2.vesselRegistrationPeriodPk.startDateTime) + FROM VesselRegistrationPeriodImpl vrp2 WHERE + vrp2.vesselRegistrationPeriodPk.vessel.code = v.code + AND (vrp2.vesselRegistrationPeriodPk.startDateTime <= :refDate OR :refDate IS NULL) + GROUP BY vrp2.vesselRegistrationPeriodPk.vessel.code + ) + AND vf.startDateTime = + ( + SELECT MAX(vf2.startDateTime) + FROM VesselFeaturesImpl vf2 WHERE + vf2.vessel.code = v.code + AND (vf2.startDateTime <= :refDate OR :refDate IS NULL) + GROUP BY vf2.vessel.code + ) + +Paramètres : + +- :gearClassificiationId = *VesselTypeId.SCIENTIFIC_RESEARCH_VESSEL* +- :refDate = date (ou null) + +*État:* Valide mais à optimiser. + +[REF-04] Liste des navires (pro) +-------------------------------- + +:: + + SELECT + v.code AS vesselCode, + vrp.registrationCode AS nationalRegistrationCode, + vrp.internationalRegistrationCode as internationalRegistrationCode, + vf.name AS vesselName, + v.status AS status + FROM + VesselImpl v + INNER JOIN v.vesselRegistrationPeriods AS vrp + LEFT OUTER JOIN v.vesselFeatures AS vf + WHERE v.vesselType.id = :vesselTypeId + AND v.status.code IN (1, 2) + AND vrp.vesselRegistrationPeriodPk.startDateTime = + ( + SELECT MAX(vrp2.vesselRegistrationPeriodPk.startDateTime) + FROM VesselRegistrationPeriodImpl vrp2 WHERE + vrp2.vesselRegistrationPeriodPk.vessel.code = v.code + AND (vrp2.vesselRegistrationPeriodPk.startDateTime <= :refDate OR :refDate IS NULL) + GROUP BY vrp2.vesselRegistrationPeriodPk.vessel.code + ) + AND vf.startDateTime = + ( + SELECT MAX(vf2.startDateTime) + FROM VesselFeaturesImpl vf2 WHERE + vf2.vessel.code = v.code + AND (vf2.startDateTime <= :refDate OR :refDate IS NULL) + GROUP BY vf2.vessel.code + ) + + +Paramètres : + +- :gearClassificiationId = *VesselTypeId.FISHING_VESSEL* +- :refDate = date (ou null) + +*État:* Valide mais à optimiser. + +[REF-05] Liste des engins (scientifique) +---------------------------------------- + +:: + + SELECT + g.id, + g.label, + g.name, + g.status AS status + FROM GearImpl g + WHERE + g.gearClassification.id= :gearClassificiationId + AND g.status.code IN (1, 2) + + +Paramètres : + +- :gearClassificiationId = *GearClassificationId.SCIENTIFIC_CRUISE* + +*État:* Valide. + +[REF-06] Liste des engins (pro) +------------------------------- + +:: + + SELECT + g.id, + g.label, + g.name, + g.status AS status + FROM GearImpl g + WHERE + g.gearClassification.id= :gearClassificiationId + AND g.status.code IN (1, 2) + +Paramètres : + +- :gearClassificiationId = *GearClassificationId.FAO* + +*État:* Valide. + + +[REF-07] Liste des utilisateurs +------------------------------- + +:: + + SELECT DISTINCT + p.id, + p.lastname, + p.firstname, + p.department.code, + p.status + FROM + PersonImpl p + LEFT OUTER JOIN p.profils pp + WHERE + p.status.code in (1,2) + AND pp.id IN ( + :observerProfilId, + :projectMemberProfilId, + :userProfilId + ) + AND p.department.code LIKE 'PDG-%' + +Paramètres : + +- :observerProfilId = *UserProfilId.OBSERVER* +- :projectMemberProfilId = *UserProfilId.PROJECT_MEMBER* +- :userProfilId = *UserProfilId.USER* + +*État:* Valide. + + +[REF-08] Liste des espèces +-------------------------- + +:: + + voir TaxonSpecificDao.getAllTaxonRefTax() + +*État:* Valide. + +[REF-09] Liste des psfm mesure de classe de taille +-------------------------------------------------- + +:: + + SELECT + p.id AS pmfmId, + p.parameter.name AS parameterName, + p.matrix.name AS matrixName, + p.fraction.name AS fractionName, + p.method.name AS methodName, + p.parameter.isAlphanumeric AS isAlphanumeric, + p.parameter.isQualitative AS isQualitative, + p.signifFiguresNumber, + p.maximumNumberDecimals, + p.precision, + p.unit.symbol AS symbol, + p.status AS status + FROM PmfmImpl p + WHERE + p.status.code IN (1, 2) + AND p.matrix.id = :matrixId + AND p.parameter.isQualitative=false + AND p.parameter.isAlphanumeric=false + AND p.parameter.isCalculated=false + AND p.parameter.code not in (:ageParameterCode, :weightParameterCode) + AND p.method.id <> :methodDeclarationId + +Paramètres : + +- :matrixId = *MatrixId.INDIVIDUAL* +- :ageParameterCode = *ParameterCode.AGE* +- :weightParameterCode= *ParameterCode.WEIGHT* +- :methodDeclarationId = *MethodId.DECLARATION* + +*État:* Valide. + +[REF-10] Liste des psfm (mise en oeuvre de l'engin) +--------------------------------------------------- + +[REF-T03] avec :matrixId= *MatrixId.GEAR* + +*État:* Valide. + +[REF-11] Liste des psfm (environnement) +--------------------------------------- + +[REF-T03] avec :parameterGroupId= *ParameterGroupId.ENVIRONEMENT_MEASUREMENT* + +*État:* Valide. + +[REF-12] Liste des psfm (hydrologique) +-------------------------------------- + +[REF-T03] avec :parameterGroupId= *ParameterGroupId.HYDROLOGIC_MEASUREMENT* + +*État:* Données non présentes en base. + +[REF-13] Liste des strates +-------------------------- + +:: + + SELECT + l.id as locationId, + l.label as locationLabel, + l.name as locationName, + l.locationLevel.id as locationLevelId, + l.status as status + FROM LocationImpl l + WHERE + l.status.code IN (1, 2) + AND l.locationLevel.id = :locationLevelId + +Paramètres : + +- :locationLevelId = *LocationLevelId.STRATA* + +*État:* A lier aux zones de série de camapgnes et au rectangle statistique. + +[REF-14] Liste des sous-strates +------------------------------- + +:: + + SELECT + l.id as locationId, + l.label as locationLabel, + l.name as locationName, + l.locationLevel.id as locationLevelId, + l.status as status + FROM LocationImpl l + WHERE + l.status.code IN (1, 2) + AND l.locationLevel.id = :locationLevelId + +Paramètres : + +- :locationLevelId = *LocationLevelId.SUBSTRATA* + +*État:* Pouvoir les lier aux zones et rectangle statistique et strates. + +[REF-15] Liste des localités +---------------------------- + +:: + + SELECT + l.id as locationId, + l.label as locationLabel, + l.name as locationName, + l.locationLevel.id as locationLevelId, + l.status as status + FROM LocationImpl l + WHERE + l.status.code IN (1, 2) + AND l.locationLevel.id = :locationLevelId + +Paramètres : + +- :locationLevelId = *LocationLevelId.LOCALITE* + +*État:* Pouvoir les lier aux zones et rectangle statistique et strates . + +[REF-16] Conversion Taille-poids +-------------------------------- + +*État:* A faire. + +[REF-17] Liste des espèces (écran benthos) +------------------------------------------ + +*État:* Valider comment on filtre (sur le protocole ?). + +[REF-18] Liste des espèces (écran plancton) +------------------------------------------- + +*État:* Valider comment on filtre (sur le protocole ?). + +[REF-19] Catégorie de macro-déchets +----------------------------------- + +[REF-T01] + [REF-T02] avec :pmfmId = *PmfmId.MACRO_WASTE_CATEGORY* + +*État:* les données sont à créer en base. + +[REF-20] Catégorie de taille macro-déchets +------------------------------------------- + +[REF-T01] + [REF-T02] avec :pmfmId = *PmfmId.MACRO_WASTE_SIZE_CATEGORY* + +*État:* les données sont à créer en base. + +[REF-21] Liste des espèces (écran capture accidentelles) +-------------------------------------------------------- + +*État:* Valide (on prend toutes les espèces). + +[REF-22] Liste des psfm pour les captures accidentelles +------------------------------------------------------- + +*État:* A FAIRE. + +[REF-23] Catégorie H/VC +----------------------- + +[REF-T01] + [REF-T02] avec :pmfmId = *PmfmId.SORTED_UNSORTED* + +*État:* Valide. + +[REF-24] Catégorie Classe. Tri +------------------------------ + +[REF-T01] + [REF-T02] avec :pmfmId = *PmfmId.SIZE_CATEGORY* + +*État:* Valide. + +[REF-25] Catégorie Sexe +----------------------- + +[REF-T01] + [REF-T02] avec :pmfmId = *PmfmId.SEX* + +*État:* Valide. + +[REF-26] Catégorie Maturité +--------------------------- + +[REF-T01] + [REF-T02] avec :pmfmId = *PmfmId.MATURITY* + +*État:* Valider l'id utilisé. + +Les requètes techniques +~~~~~~~~~~~~~~~~~~~~~~~ + ++-----------------------------------------------------+------+-----------------------------------------------------+ +| Nom requète | Etat | Commentaire | ++=====================================================+======+=====================================================+ +| [REF-T01] Détail d'un psfm par son id | OK | | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-T02] Valeurs qualitatives d'un psfm | OK | | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-T03] Liste de psfm à partir d'un support | OK | | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-T04] Liste de psfm à partir d'un parameterGroup| OK | | ++-----------------------------------------------------+------+-----------------------------------------------------+ +| [REF-T05] Lieu statistique à partir de lat/long | OK | | ++-----------------------------------------------------+------+-----------------------------------------------------+ + +[REF-T01] Détail d'un psfm par son id +------------------------------------- + +:: + + SELECT + p.id AS pmfmId, + p.parameter.name AS parameterName, + p.matrix.name AS matrixName, + p.fraction.name AS fractionName, + p.method.name AS methodName, + p.parameter.isAlphanumeric AS isAlphanumeric, + p.parameter.isQualitative AS isQualitative, + p.signifFiguresNumber, + p.maximumNumberDecimals, + p.precision, + case when (p.unit.id = :unitIdNone) then '' else p.unit.symbol end AS symbol, + p.status AS status + FROM PmfmImpl p + WHERE + p.status.code IN (1, 2) + AND p.id= :pmfmId + +Paramètres : + +- :pmfmId = id du psfm +- :unitIdNone = *UnitId.NONE* + +*État:* Valide. + +[REF-T02] Valeurs qualitatives d'un psfm +---------------------------------------- + +:: + + SELECT + qv.id AS id, + case when (qv.name = qv.description) then qv.name else concat(qv.name, ' - ', qv.description) end AS name, + qv.status AS status + FROM + PmfmImpl p JOIN p.qualitativeValues qv + WHERE + p.id= :pmfmId + AND qv.status.code IN (1, 2) + +Paramètres : + +- :pmfmId = id du psfm + +*État:* Valide. + +[REF-T03] Liste de psfm à partir d'un support +--------------------------------------------- + +:: + + SELECT + p.id AS pmfmId, + p.parameter.name AS parameterName, + p.matrix.name AS matrixName, + p.fraction.name AS fractionName, + p.method.name AS methodName, + p.parameter.isAlphanumeric AS isAlphanumeric, + p.parameter.isQualitative AS isQualitative, + p.signifFiguresNumber, + p.maximumNumberDecimals, + p.precision, + case when (p.unit.id = :unitIdNone) then '' else p.unit.symbol end AS symbol, + p.status AS status + FROM PmfmImpl p + WHERE + p.status.code IN (1, 2) + AND p.matrix.id= :matrixId + +Paramètres : + +- :matrixId = id du support +- :unitIdNone = *UnitId.NONE* + +*État:* Valide. + +[REF-T04] Liste de psfm à partir d'un groupe de paramètre +--------------------------------------------------------- + +:: + + SELECT + p.id AS pmfmId, + p.parameter.name AS parameterName, + p.matrix.name AS matrixName, + p.fraction.name AS fractionName, + p.method.name AS methodName, + p.parameter.isAlphanumeric AS isAlphanumeric, + p.parameter.isQualitative AS isQualitative, + p.signifFiguresNumber, + p.maximumNumberDecimals, + p.precision, + case when (p.unit.id = :unitIdNone) then '' else p.unit.symbol end AS symbol, + p.status AS status + FROM PmfmImpl p + WHERE + p.status.code IN (1, 2) + AND p.parameter.parameterGroup.id= :parameterGroupId + +Paramètres : + +- :parameterGroupId = id du parameterGroup +- :unitIdNone = *UnitId.NONE* + +*État:* Valide. + +[REF-T04] Lieu statistique (rectangle statistique) à partir de lat/long +----------------------------------------------------------------------- + +Utiliser *LocationService.getLocationIdByLatLong()* (adagio-core) + +*État:* Valide. \ No newline at end of file Modified: trunk/src/site/site_fr.xml =================================================================== --- trunk/src/site/site_fr.xml 2013-01-16 22:43:39 UTC (rev 212) +++ trunk/src/site/site_fr.xml 2013-01-17 08:16:18 UTC (rev 213) @@ -104,8 +104,9 @@ <item name="Historique des versions" href="changes-report.html"/> </menu> - <!--menu name="Documentation Technique"> - </menu--> + <menu name="Documentation Technique"> + <item name="Référentiel" href="referential.html"/> + </menu> <menu ref="reports"/>