Author: blavenier Date: 2013-03-14 17:04:51 +0100 (Thu, 14 Mar 2013) New Revision: 621 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/621 Log: Update the documentation on mapping UI/BDD : - add PMFM properties used for batch weights - add some warnings, to update the UML model Modified: trunk/src/site/rst/mapping.rst Modified: trunk/src/site/rst/mapping.rst =================================================================== --- trunk/src/site/rst/mapping.rst 2013-03-14 15:33:53 UTC (rev 620) +++ trunk/src/site/rst/mapping.rst 2013-03-14 16:04:51 UTC (rev 621) @@ -54,7 +54,7 @@ En écriture : pas de stockage (car doit logiquement être compatible avec ScientificCruise.departureDateTime) Série partielle - ScientificCruise.fishingTrip.surveyMeasurement (SURVEY_MEASUREMENT.ALPHA_NUMERICAL_VALUE, avec PMFM_FK=<PMFM_ID_SURVEY_PART>) + ScientificCruise.fishingTrip.surveyMeasurement (SURVEY_MEASUREMENT.ALPHA_NUMERICAL_VALUE, avec PMFM_FK=<PmfmId.SURVEY_PART>) Name ScientificCruise.name (SCIENTIFIC_CRUISE.NAME) @@ -77,7 +77,7 @@ Navire(s) Le premier navire dans le liste est stocké dans ScientificCruise.vessel (SCIENTIFIC_CRUISE.VESSEL_FK). Les navires suivants sont stockés dans ScientificCruise.fishingTrip.comments - derrière la balise : #VESSELS=<liste_des_IDs> + derrière la balise : "#VESSELS=<liste_des_IDs>" Il n'est pas certain qu'il soit nécessaire de stocker cette liste ailleurs, dans la mesure où elle peut être calculée à partir de la liste des navires associés à chaque opération (voir "Opération > Navire" ci-dessous), comme c'est le cas actuellement à l'ouverture d'une campagne de données historiques. @@ -88,13 +88,15 @@ Chef(s) de mission La première personne de la liste est stockée sous ScientificCruise.manager (SCIENTIFIC_CRUISE.MANAGER_PERSON_FK) En v1, les identifiant des personnes suivantes sont stockées dans ScientificCruise.fishingTrip.comments - derrière la balise : #MANAGERS=<liste_des_IDs> + derrière la balise : "#MANAGERS=<liste_des_IDs>" En v2, ce stockage devra se faire dans ScientificCruise.fishingTrip.vesselPersonFeatures avec un VesselPersonRole.id=<responsable_de_campagne> + **WARNING** : modèle UML + synchronisation Allegro à mettre à jour pour pouvoir importer/exporter VesselPersonFeatures et les tables liées Responsable(s) de salle de tri En v1, tous les identifiants des personnes sélectionnées sont stockées dans ScientificCruise.fishingTrip.comments - derrière la balise : #SORT_MANAGERS=<liste_des_IDs> + derrière la balise : "#SORT_MANAGERS=<liste_des_IDs>" En v2, ce stockage devra se faire dans ScientificCruise.fishingTrip.vesselPersonFeatures avec un VesselPersonRole.id=<responsable_salle_de_tri> + **WARNING** : modèle UML + synchronisation Allegro à mettre à jour pour pouvoir importer/exporter VesselPersonFeatures et les tables liées Commentaire ScientificCruise.comments (SCIENTIFIC_CRUISE.COMMENTS) @@ -103,13 +105,14 @@ ~~~~~ Code Station - Operation.vesselUseFeatures.vesselUseMeasurement (VESSEL_USE_MEASUREMENT.ALPHANUMERICAL_VALUE avec PMFM_FK=<PMFM_ID_STATION_NUMBER>) + Operation.vesselUseFeatures.vesselUseMeasurement (VESSEL_USE_MEASUREMENT.ALPHANUMERICAL_VALUE avec PMFM_FK=<PmfmId.STATION_NUMBER>) Numéro de trait Operation.name (OPERATION.NAME) : ajouté à la fin du "name", derrière le code de l'engin, pour rester compatible avec le format des données historiques. Numéro de poche - Operation.gearUseFeatures.gearUseMeasurement (GEAR_USE_MEASUREMENT.ALPHANUMERICAL_VALUE avec PMFM_FK=<PMFM_ID_MULTIRIG_AGGREGATION>) + Liste des poches observées + Operation.gearUseFeatures.gearUseMeasurement (GEAR_USE_MEASUREMENT.ALPHANUMERICAL_VALUE avec PMFM_FK=<PmfmId.MULTIRIG_AGGREGATION>) Strate Operation.gearUseFeatures.fishingArea.regulationLocation (FISHING_AREA2REG_LOCATION.LOCATION_FK associé au FISHING_AREA de l'opération) @@ -136,18 +139,19 @@ Operation.endDateTime et Operation.fishingEndDateTime (OPERATION.END_DATE_TIME et OPERATION.FISHING_END_DATE_TIME) Trait rectiligne - Operation.vesselUseFeatures.vesselUseMeasurement (VESSEL_USE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PMFM_ID_RECTILINEAR_OPERATION>) + Operation.vesselUseFeatures.vesselUseMeasurement (VESSEL_USE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.RECTILINEAR_OPERATION>) Distance chalutée - Operation.vesselUseFeatures.vesselUseMeasurement (VESSEL_USE_MEASUREMENT.NUMERICAL_VALUE avec PMFM_FK=<PMFM_ID_TRAWL_DISTANCE>) + Operation.vesselUseFeatures.vesselUseMeasurement (VESSEL_USE_MEASUREMENT.NUMERICAL_VALUE avec PMFM_FK=<PmfmId.TRAWL_DISTANCE>) Trait valide ou invalide - Operation.vesselUseFeatures.vesselUseMeasurement (VESSEL_USE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PMFM_ID_HAUL_VALID>) + Operation.vesselUseFeatures.vesselUseMeasurement (VESSEL_USE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.HAUL_VALID>) Saisisseur(s) En v1, les identifiant des personnes suivantes sont stockées dans ScientificCruise.fishingTrip.comments derrière la balise : #MANAGERS=<liste_des_IDs> En v2, ce stockage devra se faire dans ScientificCruise.fishingTrip.vesselPersonFeatures avec un VesselPersonRole.id=<responsable_de_campagne> + **WARNING** : modèle UML + synchronisation Allegro à mettre à jour pour pouvoir importer/exporter VesselPersonFeatures et les tables liées Navire Si le navire est identique au premier de la liste de la campagne : Operation.vessel (OPERATION.VESSEL_FK) @@ -172,71 +176,74 @@ Valeur Operation.gearUseFeatures.vesselUseMeasurement (GEAR_USE_MEASUREMENT.xxx - en fonction du type de PSFM : NUMERICAL_VALUE, ALPHANUMERICAL_VALUE ou QUALITATIVE_VALUE_FK) - En v2 (à confirmer), informations dispatcher dans différent onglet, en fonction du PSFM trouvé dans le protocole + **WARNING** : En v2 (version à confirmer), informations dispatcher dans différent onglet, en fonction du PSFM trouvé dans le protocole Capture > Résumé ~~~~~~~~~~~~~~~~ Poids TOTAL Lot "Capture" (BATCH avec IS_CATCH_BATCH=1) - CatchBatch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1) + Stocké uniquement si non calculé + CatchBatch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>) Poids total VRAC Lot "Capture > Vrac" - Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1) + Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>) Poids total HORS VRAC Lot "Capture > Hors Vrac" - Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1) + Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>) Poids total NON TRIE Lot "Capture > Non trié" - Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1) + Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>) Espèce > Poids TOTAL Sommme des poids des lots "Capture > xxx > Espèce" - Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1) + Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>) Espèce > Poids total VRAC Lot "Capture > Vrac > Espèce" - Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1) + Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>) Espèce > Poids total VRAC trié Calculé par tutti ? utile seulement si Thalassa ? Espèce > Poids total HORS VRAC TRIE Lot "Capture > Hors Vrac > Espèce" - Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1) + Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>) Benthos > Poids TOTAL Sommme des poids des lots "Capture > xxx > Benthos" - Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1) + Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>) Benthos > Poids total VRAC Lot "Capture > Vrac > Benthos" - Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1) + Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>) Benthos > Poids total VRAC trié Calculé par tutti ? utile seulement si Thalassa ? Benthos > Poids total HORS VRAC TRIE Lot "Capture > Hors Vrac > Benthos" - Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1) + Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>) Capture > Espèces ~~~~~~~~~~~~~~~~~ Espèce > Poids total VRAC Lot "Capture > Vrac > Espèce" - Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1) + Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>) Poids inerte trié Lot "Capture > Vrac > Espèce > [TAXON_INERT]" - Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1) + Batch.referenceTaxon = [TAXON_INERT] (BATCH.REFERENCE_TAXON_FK=<ReferenceTaxonId.INERT>) + Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>) + **WARNING** : le taxon référent "Inerte" n'existe pas encore, il faut le créé (action Ifremer/J.Martin ?) Poids vivant non détaillé trié Lot "Capture > Vrac > Espèce > Biota" - Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1) + Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>) Tableau Chaque ligne du tableau est stockée sous la forme d'un lot (Batch) positionné @@ -249,7 +256,7 @@ Tableau > V/HV Vrac ou Hors Vrac : Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SORTED_UNSORTED>) - Poids : Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1) + Poids : Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>) Tableau > Class. Tri Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SIZE_CATEGORY>) @@ -283,14 +290,15 @@ MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif ?) MeasurementFile.name : nom MeasurementFile.comments : commentaire + **WARNING** : modification de modèle à faire pour pouvoir avoir MEASUREMENT_FILE.PMFM_FK=null Mensuration > Type de mesure Dupliqué pour chaque lot de mensuration créé (un lot pour chaque taille saisie) Batch.sortingMeasurement.pmfm (SORTING_MEASUREMENT.PMFM_FK) Mensuration > Pas de la classe de taille - Non stocké (devrait dépendre de PSFM.precision ?) - Peut-etre peut on le calculé par analyse des mensuration saisie ? Et si aucune mesure prendre la précision du PSFM ? + **WARNING** : Non stocké, devrait dépendre de PSFM.precision ? + Peut-etre peut-on le calculer par analyse des mensurations saisies ? (et si aucune mesure prendre la précision du PSFM) Mensuration > Tableau Chaque ligne du tableau de mensuration est stocké sous la forme d'un lot
participants (1)
-
blavenier@users.forge.codelutin.com