Tony CHEMIT pushed to branch feature/issue-2848 at ultreiaio / ird-observe

Commits:

19 changed files:

Changes:

  • core/persistence/report/src/main/resources/META-INF/report/default/ps/psLogbookWellPlan.report
    ... ... @@ -39,19 +39,16 @@ w.well, \
    39 39
     r.date, \
    
    40 40
     a.number, \
    
    41 41
     Cast(a.time As java.sql.Time), \
    
    42
    -species.@i18nColumnName@, \
    
    43
    -weightCategory.@i18nColumnName@, \
    
    42
    +was.species.@i18nColumnName@, \
    
    43
    +was.weightCategory.@i18nColumnName@, \
    
    44 44
     was.weight \
    
    45 45
     From TripImpl t \
    
    46 46
     Join t.well w \
    
    47 47
     Join w.wellActivity wa \
    
    48 48
     Join wa.wellActivitySpecies was \
    
    49
    -Join was.species species \
    
    50
    -Join was.weightCategory weightCategory \
    
    51 49
     Join t.routeLogbook r \
    
    52 50
     Join r.activity a \
    
    53 51
     Join t.vessel vessel \
    
    54 52
     Left Join a.vesselActivity vesselActivity \
    
    55
    -Left Join a.schoolType schoolType \
    
    56 53
     Where t.id In :tripId and wa.activity = a \
    
    57 54
     Order By vessel.code,t.startDate,t.endDate,w.well,r.date,a.time

  • core/persistence/report/src/main/resources/META-INF/report/default/ps/psLogbookWellPlanCheck.report
    ... ... @@ -29,16 +29,6 @@ description.es=
    29 29
     columns=Code bateau,Nom bateau,Date départ,Date arrivée,Date de route,Numéro activité,Heure activité,Logbook YFT,Logbook SKJ,Logbook BET,Logbook ALB,Logbook Autres,Plan de cuves YFT,Plan de cuves SKJ,Plan de cuves BET,Plan de cuves ALB,Plan de cuves Autres,Logbook Total,Plan de cuves Total,Différence
    
    30 30
     columns.en=Vessel code,Vessel name,Departure date,Landing date,Day of route,Activity number,Activity hour,Logbook YFT,Logbook SKJ,Logbook BET,Logbook ALB,Logbook others,Well plan YFT,Well plan SKJ,Well plan BET,Well plan ALB,Well plan others,Logbook Total,Well plan Total,Difference
    
    31 31
     columns.es=
    
    32
    -repeatVariable.1.name=activity
    
    33
    -repeatVariable.1.type=fr.ird.observe.entities.data.ps.logbook.Activity
    
    34
    -repeatVariable.1.request=Select a \
    
    35
    -From TripImpl t \
    
    36
    -Join t.routeLogbook r \
    
    37
    -Join r.activity a \
    
    38
    -Join t.vessel vessel \
    
    39
    -Left Join a.vesselActivity vesselActivity \
    
    40
    -Where t.id In :tripId and vesselActivity.id = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' \
    
    41
    -Order By vessel.code,t.startDate,r.date,a.number,a.time
    
    42 32
     request.1.location=0,0
    
    43 33
     request.1.layout=row
    
    44 34
     request.1.request=Select vessel.code,\
    
    ... ... @@ -47,74 +37,33 @@ t.startDate, \
    47 37
     t.endDate, \
    
    48 38
     r.date, \
    
    49 39
     a.number, \
    
    50
    -Cast(a.time As java.sql.Time) \
    
    51
    -From TripImpl t \
    
    52
    -Join t.routeLogbook r \
    
    53
    -Join r.activity a \
    
    54
    -Join t.vessel vessel \
    
    55
    -Where t.id In :tripId and a = :activity
    
    56
    -request.1.repeat.name=activity
    
    57
    -request.1.repeat.layout=column
    
    58
    -request.2.location=7,0
    
    59
    -request.2.layout=row
    
    60
    -request.2.request=Select \
    
    61
    -Sum(CASE ct.species.id When 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569'  Then ct.weight Else 0.0 End), \
    
    62
    -Sum(CASE ct.species.id When 'fr.ird.referential.common.Species#1239832685474#0.975344121171992'   Then ct.weight Else 0.0 End), \
    
    63
    -Sum(CASE ct.species.id When 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152' Then ct.weight Else 0.0 End), \
    
    64
    -Sum(CASE ct.species.id When 'fr.ird.referential.common.Species#1239832685476#0.5618871286604711'  Then ct.weight Else 0.0 End), \
    
    65
    -Sum(CASE ct.species.id When 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569'  Then 0.0 \
    
    40
    +Cast(a.time As java.sql.Time), \
    
    41
    +(Select Sum(CASE ct.species.id When 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569'  Then ct.weight Else 0.0 End) From fr.ird.observe.entities.data.ps.logbook.ActivityImpl aa Join a.catches ct Where aa = a), \
    
    42
    +(Select Sum(CASE ct.species.id When 'fr.ird.referential.common.Species#1239832685474#0.975344121171992'   Then ct.weight Else 0.0 End) From fr.ird.observe.entities.data.ps.logbook.ActivityImpl aa Join a.catches ct Where aa = a), \
    
    43
    +(Select Sum(CASE ct.species.id When 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152' Then ct.weight Else 0.0 End) From fr.ird.observe.entities.data.ps.logbook.ActivityImpl aa Join a.catches ct Where aa = a), \
    
    44
    +(Select Sum(CASE ct.species.id When 'fr.ird.referential.common.Species#1239832685476#0.5618871286604711'  Then ct.weight Else 0.0 End) From fr.ird.observe.entities.data.ps.logbook.ActivityImpl aa Join a.catches ct Where aa = a), \
    
    45
    +(Select Sum(CASE ct.species.id When 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569'  Then 0.0 \
    
    66 46
     When 'fr.ird.referential.common.Species#1239832685474#0.975344121171992'   Then 0.0 \
    
    67 47
     When 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152' Then 0.0 \
    
    68 48
     When 'fr.ird.referential.common.Species#1239832685476#0.5618871286604711'  Then 0.0 \
    
    69
    -Else ct.weight End) \
    
    70
    -From TripImpl t \
    
    71
    -Join t.routeLogbook r \
    
    72
    -Join r.activity a \
    
    73
    -Join a.catches ct \
    
    74
    -Where t.id In :tripId and a = :activity
    
    75
    -request.2.repeat.name=activity
    
    76
    -request.2.repeat.layout=column
    
    77
    -request.3.location=12,0
    
    78
    -request.3.layout=row
    
    79
    -request.3.request=Select \
    
    80
    -Sum(CASE was.species.id When 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569'  Then was.weight Else 0.0 End), \
    
    81
    -Sum(CASE was.species.id When 'fr.ird.referential.common.Species#1239832685474#0.975344121171992'   Then was.weight Else 0.0 End), \
    
    82
    -Sum(CASE was.species.id When 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152' Then was.weight Else 0.0 End), \
    
    83
    -Sum(CASE was.species.id When 'fr.ird.referential.common.Species#1239832685476#0.5618871286604711'  Then was.weight Else 0.0 End), \
    
    84
    -Sum(CASE was.species.id When 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569'  Then 0.0 \
    
    49
    +Else ct.weight End) From fr.ird.observe.entities.data.ps.logbook.ActivityImpl aa Join a.catches ct Where aa = a), \
    
    50
    +(Select Sum(CASE was.species.id When 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569'  Then was.weight Else 0.0 End)  From WellActivityImpl wa Join wa.wellActivitySpecies was Where wa.activity = a), \
    
    51
    +(Select Sum(CASE was.species.id When 'fr.ird.referential.common.Species#1239832685474#0.975344121171992'   Then was.weight Else 0.0 End)  From WellActivityImpl wa Join wa.wellActivitySpecies was Where wa.activity = a), \
    
    52
    +(Select Sum(CASE was.species.id When 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152' Then was.weight Else 0.0 End)  From WellActivityImpl wa Join wa.wellActivitySpecies was Where wa.activity = a), \
    
    53
    +(Select Sum(CASE was.species.id When 'fr.ird.referential.common.Species#1239832685476#0.5618871286604711'  Then was.weight Else 0.0 End)  From WellActivityImpl wa Join wa.wellActivitySpecies was Where wa.activity = a), \
    
    54
    +(Select Sum(CASE was.species.id When 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569'  Then 0.0 \
    
    85 55
     When 'fr.ird.referential.common.Species#1239832685474#0.975344121171992'   Then 0.0 \
    
    86 56
     When 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152' Then 0.0 \
    
    87 57
     When 'fr.ird.referential.common.Species#1239832685476#0.5618871286604711'  Then 0.0 \
    
    88
    -Else was.weight End) \
    
    89
    -From TripImpl t \
    
    90
    -Join t.well w \
    
    91
    -Join w.wellActivity wa \
    
    92
    -Join wa.wellActivitySpecies was \
    
    93
    -Where t.id In :tripId and wa.activity = :activity
    
    94
    -request.3.repeat.name=activity
    
    95
    -request.3.repeat.layout=column
    
    96
    -request.4.location=17,0
    
    97
    -request.4.layout=row
    
    98
    -request.4.request=Select \
    
    99
    -Sum(ct.weight) \
    
    58
    +Else was.weight End)  From WellActivityImpl wa Join wa.wellActivitySpecies was Where wa.activity = a), \
    
    59
    +(Select Sum(ct.weight) From fr.ird.observe.entities.data.ps.logbook.ActivityImpl aa Join a.catches ct Where aa = a), \
    
    60
    +(Select Sum(was.weight) From WellActivityImpl wa Join wa.wellActivitySpecies was Where wa.activity = a) \
    
    100 61
     From TripImpl t \
    
    101 62
     Join t.routeLogbook r \
    
    102
    -Join r.activity a \
    
    103
    -Join a.catches ct \
    
    104
    -Where t.id In :tripId and a = :activity
    
    105
    -request.4.repeat.name=activity
    
    106
    -request.4.repeat.layout=column
    
    107
    -request.5.location=18,0
    
    108
    -request.5.layout=row
    
    109
    -request.5.request=Select \
    
    110
    -Sum(was.weight) \
    
    111
    -From TripImpl t \
    
    112
    -Join t.well w \
    
    113
    -Join w.wellActivity wa \
    
    114
    -Join wa.wellActivitySpecies was \
    
    115
    -Where t.id In :tripId and wa.activity = :activity
    
    116
    -request.5.repeat.name=activity
    
    117
    -request.5.repeat.layout=column
    
    63
    +Join r.activity a With a.vesselActivity.id = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' \
    
    64
    +Join t.vessel vessel \
    
    65
    +Where t.id In :tripId \
    
    66
    +Order By vessel.code,t.startDate,r.date,a.number,a.time
    
    118 67
     operations.1.type=SubtractColum
    
    119 68
     operations.1.parameters=17|18|19
    
    120 69
     operations.2.type=SumColumn
    

  • core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationActivitiesByZone.report
    1
    +modelType=PS
    
    2
    +name=Observations - Types d'activités par zones FPA
    
    3
    +name.en=
    
    4
    +name.es=
    
    5
    +description=Tableau récapitulatif des types d'activités par zone FPA traversée
    
    6
    +description.en=
    
    7
    +description.es=
    
    8
    +columns=Zone,Visités Pêchés,Visités non Pêchés,Déploiement après Pêches,Déploiement seul,Modifiés Pêchés,Modifiés non Pêchés,Retirés Pêchés,Retirés non Pêchés,Abandonnés Pêchés,Abandonnés non Pêchés,Coulés Pêchés,Coulés non Pêchés,Remplacés Pêchés,Remplacés non Pêchés,Autre Pêchés,Autre non Pêchés,Tortues associées,Total
    
    9
    +columns.en=
    
    10
    +columns.es=
    
    11
    +repeatVariable.1.name=zoneFpaId
    
    12
    +repeatVariable.1.type=java.lang.String
    
    13
    +repeatVariable.1.request=Select z.id \
    
    14
    +From FpaZoneImpl z \
    
    15
    +Where z.id In (Select distinct (a.currentFpaZone.id) \
    
    16
    +  From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    17
    +  Join m.routeObs r \
    
    18
    +  Join r.activity a With a.currentFpaZone Is Not NULL \
    
    19
    +  Where m.id In :tripId And a.floatingObject Is Not Empty) \
    
    20
    +Order By z.code, z.@i18nColumnName@
    
    21
    +request.1.location=0,0
    
    22
    +request.1.layout=row
    
    23
    +request.1.request=Select concat(str(z.code) , ' - ', z.@i18nColumnName@) \
    
    24
    +From FpaZoneImpl z \
    
    25
    +Where \
    
    26
    +z.id = :zoneFpaId
    
    27
    +request.1.repeat.name=zoneFpaId
    
    28
    +request.1.repeat.layout=column
    
    29
    +request.2.location=1,0
    
    30
    +request.2.layout=row
    
    31
    +request.2.request=Select \
    
    32
    +SUM(CASE When dcp.objectOperation = 'fr.ird.referential.ps.common.ObjectOperation#0#2' And a.vesselActivity = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'  Then 1 Else 0 End), \
    
    33
    +SUM(CASE When dcp.objectOperation = 'fr.ird.referential.ps.common.ObjectOperation#0#2' And a.vesselActivity != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' Then 1 Else 0 End), \
    
    34
    +SUM(CASE When dcp.objectOperation = 'fr.ird.referential.ps.common.ObjectOperation#0#1' And a.vesselActivity = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'  Then 1 Else 0 End), \
    
    35
    +SUM(CASE When dcp.objectOperation = 'fr.ird.referential.ps.common.ObjectOperation#0#1' And a.vesselActivity != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' Then 1 Else 0 End), \
    
    36
    +SUM(CASE When dcp.objectOperation = 'fr.ird.referential.ps.common.ObjectOperation#0#8' And a.vesselActivity = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'  Then 1 Else 0 End), \
    
    37
    +SUM(CASE When dcp.objectOperation = 'fr.ird.referential.ps.common.ObjectOperation#0#8' And a.vesselActivity != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' Then 1 Else 0 End), \
    
    38
    +SUM(CASE When dcp.objectOperation = 'fr.ird.referential.ps.common.ObjectOperation#0#4' And a.vesselActivity = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'  Then 1 Else 0 End), \
    
    39
    +SUM(CASE When dcp.objectOperation = 'fr.ird.referential.ps.common.ObjectOperation#0#4' And a.vesselActivity != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' Then 1 Else 0 End), \
    
    40
    +SUM(CASE When dcp.objectOperation = 'fr.ird.referential.ps.common.ObjectOperation#0#5' And a.vesselActivity = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'  Then 1 Else 0 End), \
    
    41
    +SUM(CASE When dcp.objectOperation = 'fr.ird.referential.ps.common.ObjectOperation#0#5' And a.vesselActivity != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' Then 1 Else 0 End), \
    
    42
    +SUM(CASE When dcp.objectOperation = 'fr.ird.referential.ps.common.ObjectOperation#0#7' And a.vesselActivity = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'  Then 1 Else 0 End), \
    
    43
    +SUM(CASE When dcp.objectOperation = 'fr.ird.referential.ps.common.ObjectOperation#0#7' And a.vesselActivity != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' Then 1 Else 0 End), \
    
    44
    +SUM(CASE When dcp.objectOperation = 'fr.ird.referential.ps.common.ObjectOperation#0#9' And a.vesselActivity = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'  Then 1 Else 0 End), \
    
    45
    +SUM(CASE When dcp.objectOperation = 'fr.ird.referential.ps.common.ObjectOperation#0#9' And a.vesselActivity != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' Then 1 Else 0 End), \
    
    46
    +SUM(CASE When ( dcp.objectOperation = 'fr.ird.referential.ps.common.ObjectOperation#0#10' Or dcp.objectOperation = 'fr.ird.referential.ps.common.ObjectOperation#0#3' ) And a.vesselActivity = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'  Then 1 Else 0 End), \
    
    47
    +SUM(CASE When ( dcp.objectOperation = 'fr.ird.referential.ps.common.ObjectOperation#0#10' Or dcp.objectOperation = 'fr.ird.referential.ps.common.ObjectOperation#0#3' ) And a.vesselActivity != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'  Then 1 Else 0 End), \
    
    48
    +Sum(Case When dcp.objectObservedSpecies Is Not Empty Then (Select Sum(efo.count) From fr.ird.observe.entities.data.ps.observation.FloatingObjectImpl dcp1 Join dcp1.objectObservedSpecies efo With efo.species.speciesGroup.id = 'fr.ird.referential.common.SpeciesGroup#1239832683690#0.24333033683679461' Where dcp1 = dcp) Else 0 End) \
    
    49
    +From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    50
    +Join m.routeObs r \
    
    51
    +Join r.activity a With a.currentFpaZone.id = :zoneFpaId \
    
    52
    +Join a.floatingObject dcp \
    
    53
    +Where m.id In :tripId
    
    54
    +request.2.repeat.name=zoneFpaId
    
    55
    +request.2.repeat.layout=column
    
    56
    +request.2.comment=visite + peche / visite - peche / Deploiement + peche / Deploiement - peche / Modifie + peche / Modifie - peche / Retire + peche / Retire - peche / Abandonne + peche / Abandonne - peche / Coule + peche / Coule - peche / Remplace + peche / Remplace - peche / Autre ou ancien peche + peche / Autre ou ancien peche - peche / Nombre de tortues
    
    57
    +operations.1.type=SumIntRow
    
    58
    +operations.1.parameters=0|1
    
    59
    +operations.2.type=SumIntColumn
    
    60
    +operations.2.parameters=0|1

  • core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationAllActivities.report
    ... ... @@ -20,22 +20,25 @@
    20 20
     # #L%
    
    21 21
     ###
    
    22 22
     modelType=PS
    
    23
    -name=Observations - Toutes les activités et leurs positions
    
    24
    -name.en=Observations - Activities with their geographic position
    
    23
    +name=Observations - Toutes les activités, leurs positions et zones FPA
    
    24
    +name.en=Observations - Activities with their geographic position and FPA zones
    
    25 25
     name.es=
    
    26 26
     description=Afficher toutes les activités et leurs positions géographiques
    
    27 27
     description.en=Display activities with their geographic position
    
    28 28
     description.es=
    
    29
    -columns=Jour,Heure observation,Latitude,Longitude,Activité,Commentaire
    
    30
    -columns.en=Date,Hour,Latitude,Longitude,Activity,Comment
    
    29
    +columns=Jour,Heure observation,Latitude,Longitude,Activité (code),Activité (nom),Zone FPA (code),Zone FPA (nom),Commentaire
    
    30
    +columns.en=Date,Hour,Latitude,Longitude,Activity (code), Activity (label),FPA zone (code), FPA zone (label), Comment
    
    31 31
     columns.es=
    
    32 32
     request.1.location=0,0
    
    33 33
     request.1.layout=row
    
    34
    -request.1.request=Select r.date, Cast(a.time As java.sql.Time), a.latitude, a.longitude, ab.@i18nColumnName@, a.comment \
    
    34
    +request.1.request=Select r.date, Cast(a.time As java.sql.Time), a.latitude, a.longitude, ab.code, ab.@i18nColumnName@, z.code, z.@i18nColumnName@, a.comment \
    
    35 35
     From TripImpl m \
    
    36 36
     Join m.routeObs r \
    
    37 37
     Join r.activity a \
    
    38 38
     Join a.vesselActivity ab \
    
    39
    +Left Join a.currentFpaZone z \
    
    39 40
     Where \
    
    40 41
     m.id In :tripId \
    
    41 42
     Order By r.date, a.time
    
    43
    +
    
    44
    +

  • core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationFobUsageExtended.report
    ... ... @@ -33,17 +33,20 @@ repeatVariable.1.name=typeObjetId
    33 33
     repeatVariable.1.type=java.lang.String
    
    34 34
     repeatVariable.1.request=Select distinct (om.standardCode) \
    
    35 35
     From ObjectMaterialImpl om \
    
    36
    -Where standardCode is not null \
    
    37
    -And standardCode != '' \
    
    38
    -And (Select Count(dcp) \
    
    36
    +Where om.standardCode is not null \
    
    37
    +And om.standardCode != '' \
    
    38
    +And (om.standardCode In (Select Distinct(dcp.computedWhenArrivingSimplifiedObjectType) \
    
    39 39
     From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    40 40
     Join m.routeObs r \
    
    41 41
     Join r.activity a \
    
    42
    -Join a.floatingObject dcp \
    
    43
    -Where \
    
    44
    -m.id In :tripId \
    
    45
    -and (dcp.computedWhenArrivingSimplifiedObjectType = om.standardCode Or dcp.computedWhenLeavingSimplifiedObjectType = om.standardCode) \
    
    46
    -) > 0
    
    42
    +Join a.floatingObject dcp With dcp.computedWhenArrivingSimplifiedObjectType Is Not Null \
    
    43
    +Where m.id In :tripId ) Or om.standardCode In (Select Distinct(dcp.computedWhenLeavingSimplifiedObjectType) \
    
    44
    +From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    45
    +Join m.routeObs r \
    
    46
    +Join r.activity a \
    
    47
    +Join a.floatingObject dcp With dcp.computedWhenLeavingSimplifiedObjectType Is Not Null \
    
    48
    +Where m.id In :tripId )) \
    
    49
    +Order by om.standardCode
    
    47 50
     request.1.location=0,0
    
    48 51
     request.1.layout=row
    
    49 52
     request.1.request=Select concat(str(om.standardCode) , ' - ', om.@i18nColumnName@) \
    
    ... ... @@ -55,258 +58,30 @@ request.1.repeat.name=typeObjetId
    55 58
     request.1.repeat.layout=column
    
    56 59
     request.2.location=1,0
    
    57 60
     request.2.layout=row
    
    58
    -request.2.request=Select Count(dcp) \
    
    59
    -From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    60
    -Join m.routeObs r \
    
    61
    -Join r.activity a \
    
    62
    -Join a.floatingObject dcp \
    
    63
    -Where \
    
    64
    -m.id In :tripId \
    
    65
    -and dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId \
    
    66
    -and dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#2' \
    
    67
    -and a.vesselActivity.id = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'
    
    61
    +request.2.request=Select \
    
    62
    +Sum(Case When dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId And dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#2' And a.vesselActivity.id = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' Then 1 Else 0 End), \
    
    63
    +Sum(Case When dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId And dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#2' And a.vesselActivity.id != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' Then 1 Else 0 End), \
    
    64
    +Sum(Case When dcp.computedWhenLeavingSimplifiedObjectType = :typeObjetId And dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#1' And a.vesselActivity.id = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' Then 1 Else 0 End), \
    
    65
    +Sum(Case When dcp.computedWhenLeavingSimplifiedObjectType = :typeObjetId And dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#1' And a.vesselActivity.id != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' Then 1 Else 0 End), \
    
    66
    +Sum(Case When dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId And dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#8' And a.vesselActivity.id = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' Then 1 Else 0 End), \
    
    67
    +Sum(Case When dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId And dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#8' And a.vesselActivity.id != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' Then 1 Else 0 End), \
    
    68
    +Sum(Case When dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId And dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#4' And a.vesselActivity.id = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' Then 1 Else 0 End), \
    
    69
    +Sum(Case When dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId And dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#4' And a.vesselActivity.id != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' Then 1 Else 0 End), \
    
    70
    +Sum(Case When dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId And dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#5' And a.vesselActivity.id = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' Then 1 Else 0 End), \
    
    71
    +Sum(Case When dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId And dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#5' And a.vesselActivity.id != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' Then 1 Else 0 End), \
    
    72
    +Sum(Case When dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId And dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#7' And a.vesselActivity.id = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' Then 1 Else 0 End), \
    
    73
    +Sum(Case When dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId And dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#7' And a.vesselActivity.id != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' Then 1 Else 0 End), \
    
    74
    +Sum(Case When dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId And dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#9' And a.vesselActivity.id = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' Then 1 Else 0 End), \
    
    75
    +Sum(Case When dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId And dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#9' And a.vesselActivity.id != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' Then 1 Else 0 End), \
    
    76
    +Sum(Case When dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId And (dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#10' Or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#3') And a.vesselActivity.id = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' Then 1 Else 0 End), \
    
    77
    +Sum(Case When dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId And (dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#10' Or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#3') And a.vesselActivity.id != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' Then 1 Else 0 End), \
    
    78
    +Sum(Case When dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId And dcp.objectObservedSpecies Is Not Empty Then (Select Sum(efo.count) From fr.ird.observe.entities.data.ps.observation.FloatingObjectImpl dcp1 Join dcp1.objectObservedSpecies efo With efo.species.speciesGroup.id = 'fr.ird.referential.common.SpeciesGroup#1239832683690#0.24333033683679461' Where dcp1 = dcp) Else 0 End) \
    
    79
    +From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    80
    +Join m.routeObs r \
    
    81
    +Join r.activity a \
    
    82
    +Join a.floatingObject dcp With dcp.computedWhenLeavingSimplifiedObjectType = :typeObjetId Or dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId \
    
    83
    +Where \
    
    84
    +m.id In :tripId
    
    68 85
     request.2.repeat.name=typeObjetId
    
    69 86
     request.2.repeat.layout=column
    
    70
    -request.2.comment=visite + peche
    
    71
    -request.3.location=2,0
    
    72
    -request.3.layout=row
    
    73
    -request.3.request=Select Count(dcp) \
    
    74
    -From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    75
    -Join m.routeObs r \
    
    76
    -Join r.activity a \
    
    77
    -Join a.floatingObject dcp \
    
    78
    -Where \
    
    79
    -m.id In :tripId \
    
    80
    -and dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId \
    
    81
    -and dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#2' \
    
    82
    -and a.vesselActivity.id != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'
    
    83
    -request.3.repeat.name=typeObjetId
    
    84
    -request.3.repeat.layout=column
    
    85
    -request.3.comment=visite - peche
    
    86
    -request.4.location=3,0
    
    87
    -request.4.layout=row
    
    88
    -request.4.request=Select Count(dcp) \
    
    89
    -From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    90
    -Join m.routeObs r \
    
    91
    -Join r.activity a \
    
    92
    -Join a.floatingObject dcp \
    
    93
    -Where \
    
    94
    -m.id In :tripId \
    
    95
    -and dcp.computedWhenLeavingSimplifiedObjectType = :typeObjetId \
    
    96
    -and dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#1' \
    
    97
    -and a.vesselActivity.id = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'
    
    98
    -request.4.repeat.name=typeObjetId
    
    99
    -request.4.repeat.layout=column
    
    100
    -request.4.comment=Deploiement + peche
    
    101
    -request.5.location=4,0
    
    102
    -request.5.layout=row
    
    103
    -request.5.request=Select Count(dcp) \
    
    104
    -From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    105
    -Join m.routeObs r \
    
    106
    -Join r.activity a \
    
    107
    -Join a.floatingObject dcp \
    
    108
    -Where \
    
    109
    -m.id In :tripId \
    
    110
    -and dcp.computedWhenLeavingSimplifiedObjectType = :typeObjetId \
    
    111
    -and dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#1' \
    
    112
    -and a.vesselActivity.id != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'
    
    113
    -request.5.repeat.name=typeObjetId
    
    114
    -request.5.repeat.layout=column
    
    115
    -request.5.comment=Deploiement - peche
    
    116
    -request.6.location=5,0
    
    117
    -request.6.layout=row
    
    118
    -request.6.request=Select Count(dcp) \
    
    119
    -From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    120
    -Join m.routeObs r \
    
    121
    -Join r.activity a \
    
    122
    -Join a.floatingObject dcp \
    
    123
    -Where \
    
    124
    -m.id In :tripId \
    
    125
    -and dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId \
    
    126
    -and dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#8' \
    
    127
    -and a.vesselActivity.id = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'
    
    128
    -request.6.repeat.name=typeObjetId
    
    129
    -request.6.repeat.layout=column
    
    130
    -request.6.comment=Modifie + peche
    
    131
    -request.7.location=6,0
    
    132
    -request.7.layout=row
    
    133
    -request.7.request=Select Count(dcp) \
    
    134
    -From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    135
    -Join m.routeObs r \
    
    136
    -Join r.activity a \
    
    137
    -Join a.floatingObject dcp \
    
    138
    -Where \
    
    139
    -m.id In :tripId \
    
    140
    -and dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId \
    
    141
    -and dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#8' \
    
    142
    -and a.vesselActivity.id != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'
    
    143
    -request.7.repeat.name=typeObjetId
    
    144
    -request.7.repeat.layout=column
    
    145
    -request.7.comment=Modifie - peche
    
    146
    -request.8.location=7,0
    
    147
    -request.8.layout=row
    
    148
    -request.8.request=Select Count(dcp) \
    
    149
    -From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    150
    -Join m.routeObs r \
    
    151
    -Join r.activity a \
    
    152
    -Join a.floatingObject dcp \
    
    153
    -Where \
    
    154
    -m.id In :tripId \
    
    155
    -and dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId \
    
    156
    -and dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#4' \
    
    157
    -and a.vesselActivity.id = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'
    
    158
    -request.8.repeat.name=typeObjetId
    
    159
    -request.8.repeat.layout=column
    
    160
    -request.8.comment=Retire + peche
    
    161
    -request.9.location=8,0
    
    162
    -request.9.layout=row
    
    163
    -request.9.request=Select Count(dcp) \
    
    164
    -From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    165
    -Join m.routeObs r \
    
    166
    -Join r.activity a \
    
    167
    -Join a.floatingObject dcp \
    
    168
    -Where \
    
    169
    -m.id In :tripId \
    
    170
    -and dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId \
    
    171
    -and dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#4' \
    
    172
    -and a.vesselActivity.id != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'
    
    173
    -request.9.repeat.name=typeObjetId
    
    174
    -request.9.repeat.layout=column
    
    175
    -request.9.comment=Retire - peche
    
    176
    -request.10.location=9,0
    
    177
    -request.10.layout=row
    
    178
    -request.10.request=Select Count(dcp) \
    
    179
    -From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    180
    -Join m.routeObs r \
    
    181
    -Join r.activity a \
    
    182
    -Join a.floatingObject dcp \
    
    183
    -Where \
    
    184
    -m.id In :tripId \
    
    185
    -and dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId \
    
    186
    -and dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#5' \
    
    187
    -and a.vesselActivity.id = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'
    
    188
    -request.10.repeat.name=typeObjetId
    
    189
    -request.10.repeat.layout=column
    
    190
    -request.10.comment=Abandonne + peche
    
    191
    -request.11.location=10,0
    
    192
    -request.11.layout=row
    
    193
    -request.11.request=Select Count(dcp) \
    
    194
    -From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    195
    -Join m.routeObs r \
    
    196
    -Join r.activity a \
    
    197
    -Join a.floatingObject dcp \
    
    198
    -Where \
    
    199
    -m.id In :tripId \
    
    200
    -and dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId \
    
    201
    -and dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#5' \
    
    202
    -and a.vesselActivity.id != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'
    
    203
    -request.11.repeat.name=typeObjetId
    
    204
    -request.11.repeat.layout=column
    
    205
    -request.11.comment=Abandonne - peche
    
    206
    -request.12.location=11,0
    
    207
    -request.12.layout=row
    
    208
    -request.12.request=Select Count(dcp) \
    
    209
    -From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    210
    -Join m.routeObs r \
    
    211
    -Join r.activity a \
    
    212
    -Join a.floatingObject dcp \
    
    213
    -Where \
    
    214
    -m.id In :tripId \
    
    215
    -and dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId \
    
    216
    -and dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#7' \
    
    217
    -and a.vesselActivity.id = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'
    
    218
    -request.12.repeat.name=typeObjetId
    
    219
    -request.12.repeat.layout=column
    
    220
    -request.12.comment=Coule + peche
    
    221
    -request.13.location=12,0
    
    222
    -request.13.layout=row
    
    223
    -request.13.request=Select Count(dcp) \
    
    224
    -From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    225
    -Join m.routeObs r \
    
    226
    -Join r.activity a \
    
    227
    -Join a.floatingObject dcp \
    
    228
    -Where \
    
    229
    -m.id In :tripId \
    
    230
    -and dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId \
    
    231
    -and dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#7' \
    
    232
    -and a.vesselActivity.id != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'
    
    233
    -request.13.repeat.name=typeObjetId
    
    234
    -request.13.repeat.layout=column
    
    235
    -request.13.comment=Coule - peche
    
    236
    -request.14.location=13,0
    
    237
    -request.14.layout=row
    
    238
    -request.14.request=Select Count(dcp) \
    
    239
    -From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    240
    -Join m.routeObs r \
    
    241
    -Join r.activity a \
    
    242
    -Join a.floatingObject dcp \
    
    243
    -Where \
    
    244
    -m.id In :tripId \
    
    245
    -and dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId \
    
    246
    -and dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#9' \
    
    247
    -and a.vesselActivity.id = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'
    
    248
    -request.14.repeat.name=typeObjetId
    
    249
    -request.14.repeat.layout=column
    
    250
    -request.14.comment=Remplace + peche
    
    251
    -request.15.location=14,0
    
    252
    -request.15.layout=row
    
    253
    -request.15.request=Select Count(dcp) \
    
    254
    -From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    255
    -Join m.routeObs r \
    
    256
    -Join r.activity a \
    
    257
    -Join a.floatingObject dcp \
    
    258
    -Where \
    
    259
    -m.id In :tripId \
    
    260
    -and dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId \
    
    261
    -and dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#9' \
    
    262
    -and a.vesselActivity.id != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'
    
    263
    -request.15.repeat.name=typeObjetId
    
    264
    -request.15.repeat.layout=column
    
    265
    -request.15.comment=Remplace - peche
    
    266
    -request.16.location=15,0
    
    267
    -request.16.layout=row
    
    268
    -request.16.request=Select Count(dcp) \
    
    269
    -From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    270
    -Join m.routeObs r \
    
    271
    -Join r.activity a \
    
    272
    -Join a.floatingObject dcp \
    
    273
    -Where \
    
    274
    -m.id In :tripId \
    
    275
    -and dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId \
    
    276
    -and (dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#10' \
    
    277
    -or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#3') \
    
    278
    -and a.vesselActivity.id = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'
    
    279
    -request.16.repeat.name=typeObjetId
    
    280
    -request.16.repeat.layout=column
    
    281
    -request.16.comment=Autre ou ancien peche + peche
    
    282
    -request.17.location=16,0
    
    283
    -request.17.layout=row
    
    284
    -request.17.request=Select Count(dcp) \
    
    285
    -From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    286
    -Join m.routeObs r \
    
    287
    -Join r.activity a \
    
    288
    -Join a.floatingObject dcp \
    
    289
    -Where \
    
    290
    -m.id In :tripId \
    
    291
    -and dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId \
    
    292
    -and (dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#10' \
    
    293
    -or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#3') \
    
    294
    -and a.vesselActivity.id != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586'
    
    295
    -request.17.repeat.name=typeObjetId
    
    296
    -request.17.repeat.layout=column
    
    297
    -request.17.comment=Autre ou ancien peche - peche
    
    298
    -request.18.location=17,0
    
    299
    -request.18.layout=row
    
    300
    -request.18.request=Select Sum(efo.count) \
    
    301
    -From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    302
    -Join m.routeObs r \
    
    303
    -Join r.activity a \
    
    304
    -Join a.floatingObject dcp \
    
    305
    -Join dcp.objectObservedSpecies efo \
    
    306
    -Where \
    
    307
    -m.id In :tripId \
    
    308
    -and dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId \
    
    309
    -and efo.species.speciesGroup.id = 'fr.ird.referential.common.SpeciesGroup#1239832683690#0.24333033683679461'
    
    310
    -request.18.repeat.name=typeObjetId
    
    311
    -request.18.repeat.layout=column
    
    312
    -request.18.comment=Nombre de tortues
    87
    +request.2.comment=visite + peche / visite - peche / Deploiement + peche / Deploiement - peche / Modifie + peche / Modifie - peche / Retire + peche / Retire - peche / Abandonne + peche / Abandonne - peche / Coule + peche / Coule - peche / Remplace + peche / Remplace - peche / Autre ou ancien peche + peche / Autre ou ancien peche - peche / Nombre de tortues

  • core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationFobUsageMinimal.report
    ... ... @@ -33,17 +33,20 @@ repeatVariable.1.name=typeObjetId
    33 33
     repeatVariable.1.type=java.lang.String
    
    34 34
     repeatVariable.1.request=Select distinct (om.standardCode) \
    
    35 35
     From ObjectMaterialImpl om \
    
    36
    -Where standardCode is not null \
    
    37
    -And standardCode != '' \
    
    38
    -And (Select Count(dcp) \
    
    36
    +Where om.standardCode is not null \
    
    37
    +And om.standardCode != '' \
    
    38
    +And (om.standardCode In (Select Distinct(dcp.computedWhenArrivingSimplifiedObjectType) \
    
    39 39
     From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    40 40
     Join m.routeObs r \
    
    41 41
     Join r.activity a \
    
    42
    -Join a.floatingObject dcp \
    
    43
    -Where \
    
    44
    -m.id In :tripId \
    
    45
    -and (dcp.computedWhenArrivingSimplifiedObjectType = om.standardCode Or dcp.computedWhenLeavingSimplifiedObjectType = om.standardCode) \
    
    46
    -) > 0
    
    42
    +Join a.floatingObject dcp With dcp.computedWhenArrivingSimplifiedObjectType Is Not Null \
    
    43
    +Where m.id In :tripId ) Or om.standardCode In (Select Distinct(dcp.computedWhenLeavingSimplifiedObjectType) \
    
    44
    +From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    45
    +Join m.routeObs r \
    
    46
    +Join r.activity a \
    
    47
    +Join a.floatingObject dcp With dcp.computedWhenLeavingSimplifiedObjectType Is Not Null \
    
    48
    +Where m.id In :tripId )) \
    
    49
    +Order by om.standardCode
    
    47 50
     repeatVariable.1.comment=liste des types CECOFAD en presence sur les donnees selectionnees
    
    48 51
     request.1.location=0,0
    
    49 52
     request.1.layout=row
    
    ... ... @@ -56,74 +59,31 @@ request.1.repeat.name=typeObjetId
    56 59
     request.1.repeat.layout=column
    
    57 60
     request.2.location=1,0
    
    58 61
     request.2.layout=row
    
    59
    -request.2.request=Select Count(dcp) \
    
    60
    -From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    61
    -Join m.routeObs r \
    
    62
    -Join r.activity a \
    
    63
    -Join a.floatingObject dcp \
    
    64
    -Where \
    
    65
    -m.id In :tripId \
    
    66
    -and dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId \
    
    67
    -and a.vesselActivity.id = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' \
    
    68
    -and (dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#2' \
    
    62
    +request.2.request=Select \
    
    63
    +Sum(Case When dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId And a.vesselActivity.id = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' And (dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#2' \
    
    69 64
     or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#8' \
    
    70 65
     or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#4' \
    
    71 66
     or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#5' \
    
    72 67
     or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#7' \
    
    73 68
     or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#9' \
    
    74 69
     or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#10' \
    
    75
    -or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#3')
    
    76
    -request.2.repeat.name=typeObjetId
    
    77
    -request.2.repeat.layout=column
    
    78
    -request.2.comment=rencontres + peches
    
    79
    -request.3.location=2,0
    
    80
    -request.3.layout=row
    
    81
    -request.3.request=Select Count(dcp) \
    
    82
    -From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    83
    -Join m.routeObs r \
    
    84
    -Join r.activity a \
    
    85
    -Join a.floatingObject dcp \
    
    86
    -Where \
    
    87
    -m.id In :tripId \
    
    88
    -and dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId \
    
    89
    -and a.vesselActivity.id != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' \
    
    90
    -and (dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#2' \
    
    70
    +or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#3') Then 1 Else 0 End), \
    
    71
    +Sum(Case When dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId And a.vesselActivity.id != 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' And (dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#2' \
    
    91 72
     or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#8' \
    
    92 73
     or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#4' \
    
    93 74
     or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#5' \
    
    94 75
     or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#7' \
    
    95 76
     or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#9' \
    
    96 77
     or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#10' \
    
    97
    -or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#3')
    
    98
    -request.3.repeat.name=typeObjetId
    
    99
    -request.3.repeat.layout=column
    
    100
    -request.3.comment=rencontres - peches
    
    101
    -request.4.location=3,0
    
    102
    -request.4.layout=row
    
    103
    -request.4.request=Select Count(dcp) \
    
    104
    -From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    105
    -Join m.routeObs r \
    
    106
    -Join r.activity a \
    
    107
    -Join a.floatingObject dcp \
    
    108
    -Where \
    
    109
    -m.id In :tripId \
    
    110
    -and dcp.computedWhenLeavingSimplifiedObjectType = :typeObjetId \
    
    111
    -and dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#1'
    
    112
    -request.4.repeat.name=typeObjetId
    
    113
    -request.4.repeat.layout=column
    
    114
    -request.4.comment=deployes
    
    115
    -request.5.location=4,0
    
    116
    -request.5.layout=row
    
    117
    -request.5.request=Select Sum(efo.count) \
    
    78
    +or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#3') Then 1 Else 0 End), \
    
    79
    +Sum(Case When dcp.computedWhenLeavingSimplifiedObjectType = :typeObjetId And dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#1' Then 1 Else 0 End), \
    
    80
    +Sum(Case When dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId And dcp.objectObservedSpecies Is Not Empty Then (Select Sum(efo.count) From fr.ird.observe.entities.data.ps.observation.FloatingObjectImpl dcp1 Join dcp1.objectObservedSpecies efo With efo.species.speciesGroup.id = 'fr.ird.referential.common.SpeciesGroup#1239832683690#0.24333033683679461' Where dcp1 = dcp) Else 0 End) \
    
    118 81
     From fr.ird.observe.entities.data.ps.common.TripImpl m \
    
    119 82
     Join m.routeObs r \
    
    120 83
     Join r.activity a \
    
    121
    -Join a.floatingObject dcp \
    
    122
    -Join dcp.objectObservedSpecies efo \
    
    84
    +Join a.floatingObject dcp With dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId Or dcp.computedWhenLeavingSimplifiedObjectType = :typeObjetId \
    
    123 85
     Where \
    
    124
    -m.id In :tripId \
    
    125
    -and dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId \
    
    126
    -and efo.species.speciesGroup.id = 'fr.ird.referential.common.SpeciesGroup#1239832683690#0.24333033683679461'
    
    127
    -request.5.repeat.name=typeObjetId
    
    128
    -request.5.repeat.layout=column
    
    129
    -request.5.comment=Nombre de tortues
    86
    +m.id In :tripId
    
    87
    +request.2.repeat.name=typeObjetId
    
    88
    +request.2.repeat.layout=column
    
    89
    +request.2.comment=rencontres + peches / rencontres - peches / deployes / Nombre de tortues

  • core/persistence/report/src/main/resources/META-INF/report/embedded.list
    ... ... @@ -17,6 +17,7 @@ default/ps/psLogbookSampleSpeciesMeasuresCount.report
    17 17
     default/ps/psLogbookTrip.report
    
    18 18
     default/ps/psLogbookWellPlan.report
    
    19 19
     default/ps/psLogbookWellPlanCheck.report
    
    20
    +default/ps/psObservationActivitiesByZone.report
    
    20 21
     default/ps/psObservationActivityWithComment.report
    
    21 22
     default/ps/psObservationAllActivities.report
    
    22 23
     default/ps/psObservationCatch.report
    

  • core/persistence/report/src/test/java/fr/ird/observe/report/ToolsTest.java
    ... ... @@ -47,7 +47,7 @@ import java.util.Objects;
    47 47
     
    
    48 48
     public class ToolsTest {
    
    49 49
     
    
    50
    -    public static final int REPORTS_COUNT_COUNT = 34;
    
    50
    +    public static final int REPORTS_COUNT_COUNT = 35;
    
    51 51
     
    
    52 52
         private static Path reportsPath(Path basedir) {
    
    53 53
             return basedir.resolve("src").resolve("main").resolve("resources").resolve("META-INF").resolve("report");
    

  • core/services/test/src/main/java/fr/ird/observe/services/service/report/ps/PsObservationActivitiesByZoneReportFixture.java
    1
    +package fr.ird.observe.services.service.report.ps;
    
    2
    +
    
    3
    +/*-
    
    4
    + * #%L
    
    5
    + * ObServe Core :: Services :: Test
    
    6
    + * %%
    
    7
    + * Copyright (C) 2008 - 2024 IRD, Ultreia.io
    
    8
    + * %%
    
    9
    + * This program is free software: you can redistribute it and/or modify
    
    10
    + * it under the terms of the GNU General Public License as
    
    11
    + * published by the Free Software Foundation, either version 3 of the
    
    12
    + * License, or (at your option) any later version.
    
    13
    + *
    
    14
    + * This program is distributed in the hope that it will be useful,
    
    15
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    
    16
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    
    17
    + * GNU General Public License for more details.
    
    18
    + *
    
    19
    + * You should have received a copy of the GNU General Public
    
    20
    + * License along with this program.  If not, see
    
    21
    + * <http://www.gnu.org/licenses/gpl-3.0.html>.
    
    22
    + * #L%
    
    23
    + */
    
    24
    +
    
    25
    +import com.google.auto.service.AutoService;
    
    26
    +import fr.ird.observe.report.Report;
    
    27
    +import fr.ird.observe.report.definition.ReportRequestDefinition;
    
    28
    +import fr.ird.observe.report.definition.RequestLayout;
    
    29
    +import fr.ird.observe.services.service.ReportFixture;
    
    30
    +
    
    31
    +import java.util.Iterator;
    
    32
    +
    
    33
    +/**
    
    34
    + * Created at 15/03/2024.
    
    35
    + *
    
    36
    + * @author Tony Chemit - dev@tchemit.fr
    
    37
    + * @since 9.3.0
    
    38
    + */
    
    39
    +@AutoService(ReportFixture.class)
    
    40
    +public class PsObservationActivitiesByZoneReportFixture extends ReportFixture {
    
    41
    +    @Override
    
    42
    +    public void assertSyntax(Report report) {
    
    43
    +        super.assertSyntax(report);
    
    44
    +        Iterator<ReportRequestDefinition> requests = getRequestIterator(report);
    
    45
    +        assertReportRequestDimension(requests, RequestLayout.row, 0, 0);
    
    46
    +        assertReportRequestDimension(requests, RequestLayout.row, 1, 0);
    
    47
    +    }
    
    48
    +}

  • core/services/test/src/main/java/fr/ird/observe/services/service/report/ps/PsObservationFobUsageExtendedReportFixture.java
    ... ... @@ -45,6 +45,5 @@ public class PsObservationFobUsageExtendedReportFixture extends ReportFixture {
    45 45
             Iterator<ReportRequestDefinition> requests = getRequestIterator(report);
    
    46 46
             assertReportRequestDimension(requests, RequestLayout.row, 0, 0);
    
    47 47
             assertReportRequestDimension(requests, RequestLayout.row, 1, 0);
    
    48
    -        assertReportRequestDimension(requests, RequestLayout.row, 2, 0);
    
    49 48
         }
    
    50 49
     }

  • core/services/test/src/main/java/fr/ird/observe/services/service/report/ps/PsObservationFobUsageMinimalReportFixture.java
    ... ... @@ -45,6 +45,5 @@ public class PsObservationFobUsageMinimalReportFixture extends ReportFixture {
    45 45
             Iterator<ReportRequestDefinition> requests = getRequestIterator(report);
    
    46 46
             assertReportRequestDimension(requests, RequestLayout.row, 0, 0);
    
    47 47
             assertReportRequestDimension(requests, RequestLayout.row, 1, 0);
    
    48
    -        assertReportRequestDimension(requests, RequestLayout.row, 2, 0);
    
    49 48
         }
    
    50 49
     }

  • core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-psLogbookWellPlanCheck.properties
    ... ... @@ -25,7 +25,7 @@ syntax.rows=-1
    25 25
     syntax.columns=20
    
    26 26
     syntax.columnsHeader=Code bateau^Nom bateau^Date départ^Date arrivée^Date de route^Numéro activité^Heure activité^Logbook YFT^Logbook SKJ^Logbook BET^Logbook ALB^Logbook Autres^Plan de cuves YFT^Plan de cuves SKJ^Plan de cuves BET^Plan de cuves ALB^Plan de cuves Autres^Logbook Total^Plan de cuves Total^Différence
    
    27 27
     syntax.rowsHeader=
    
    28
    -syntax.nbRequests=5
    
    28
    +syntax.nbRequests=1
    
    29 29
     result.columns=20
    
    30 30
     result.rows=4
    
    31 31
     result.0=483^CAP BOJADOR^30/03/2019^08/04/2019^30/03/2019^1^15:12^0.0^123.0^43.0^0.0^0.0^0.0^0.0^12.0^0.0^0.0^166.0^12.0^154.0
    

  • core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-psObservationActivitiesByZone.properties
    1
    +###
    
    2
    +# #%L
    
    3
    +# ObServe Core :: Services :: Test
    
    4
    +# %%
    
    5
    +# Copyright (C) 2008 - 2024 IRD, Ultreia.io
    
    6
    +# %%
    
    7
    +# This program is free software: you can redistribute it and/or modify
    
    8
    +# it under the terms of the GNU General Public License as
    
    9
    +# published by the Free Software Foundation, either version 3 of the
    
    10
    +# License, or (at your option) any later version.
    
    11
    +#
    
    12
    +# This program is distributed in the hope that it will be useful,
    
    13
    +# but WITHOUT ANY WARRANTY; without even the implied warranty of
    
    14
    +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    
    15
    +# GNU General Public License for more details.
    
    16
    +#
    
    17
    +# You should have received a copy of the GNU General Public
    
    18
    +# License along with this program.  If not, see
    
    19
    +# <http://www.gnu.org/licenses/gpl-3.0.html>.
    
    20
    +# #L%
    
    21
    +###
    
    22
    +syntax.rows=-1
    
    23
    +syntax.columns=19
    
    24
    +syntax.columnsHeader=Zone^Visités Pêchés^Visités non Pêchés^Déploiement après Pêches^Déploiement seul^Modifiés Pêchés^Modifiés non Pêchés^Retirés Pêchés^Retirés non Pêchés^Abandonnés Pêchés^Abandonnés non Pêchés^Coulés Pêchés^Coulés non Pêchés^Remplacés Pêchés^Remplacés non Pêchés^Autre Pêchés^Autre non Pêchés^Tortues associées^Total
    
    25
    +syntax.rowsHeader=
    
    26
    +syntax.nbRequests=2
    
    27
    +result.columns=19
    
    28
    +result.rows=3
    
    29
    +result.0=CIV - Côte d'Ivoire^1^9^1^0^0^0^0^0^0^0^0^0^0^0^0^0^0^11
    
    30
    +result.1=LBR - Libéria^0^7^0^27^0^0^0^0^0^0^0^0^0^0^0^0^0^34
    
    31
    +result.2=Total^1^16^1^27^0^0^0^0^0^0^0^0^0^0^0^0^0^45
    
    32
    +syntax.name=Observations - Types d'activités par zones FPA
    
    33
    +syntax.description=Tableau récapitulatif des types d'activités par zone FPA traversée
    \ No newline at end of file

  • core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-psObservationAllActivities.properties
    ... ... @@ -19,152 +19,152 @@
    19 19
     # <http://www.gnu.org/licenses/gpl-3.0.html>.
    
    20 20
     # #L%
    
    21 21
     ###
    
    22
    -result.0=30/03/2019^18:00^5.2833^-4.0^Au port^Départ du port de pêche pour la fin de la marée
    
    23
    -result.1=30/03/2019^19:00^5.1667^-4.0^Transit (route sans recherche)^Route de nuit
    
    24
    -result.2=31/03/2019^06:13^3.95^-5.2667^Recherche (général)^null
    
    25
    -result.3=31/03/2019^06:54^3.95^-5.35^Thonier arrivant sur le système détecté^null
    
    26
    -result.4=31/03/2019^07:50^3.9667^-5.35^Pêche (larguage du skiff)^null
    
    27
    -result.5=31/03/2019^10:55^3.9833^-5.2833^Thonier arrivant sur le système détecté^null
    
    28
    -result.6=31/03/2019^11:24^3.9833^-5.2667^Pêche (larguage du skiff)^null
    
    29
    -result.7=31/03/2019^14:56^3.95^-5.3333^Thonier arrivant sur le système détecté^
    
    30
    -result.8=31/03/2019^15:05^3.95^-5.3333^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    31
    -result.9=31/03/2019^16:11^3.8167^-5.4167^Thonier arrivant sur le système détecté^	
    
    32
    -result.10=31/03/2019^16:22^3.8333^-5.4167^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    33
    -result.11=31/03/2019^16:53^3.7833^-5.4833^Thonier arrivant sur le système détecté^
    
    34
    -result.12=31/03/2019^17:03^3.7833^-5.4833^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    35
    -result.13=31/03/2019^18:03^3.7833^-5.4667^Recherche (général)^null
    
    36
    -result.14=31/03/2019^18:44^3.8667^-5.4833^Fin de veille^null
    
    37
    -result.15=31/03/2019^19:00^3.9^-5.5^En dérive de nuit (moteur stoppé)^null
    
    38
    -result.16=01/04/2019^06:15^3.9833^-5.3167^Recherche (général)^null
    
    39
    -result.17=01/04/2019^07:43^3.8333^-5.2667^Thonier arrivant sur le système détecté^
    
    40
    -result.18=01/04/2019^07:56^3.8333^-5.25^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    41
    -result.19=01/04/2019^08:15^3.8833^-5.2333^Recherche (général)^null
    
    42
    -result.20=01/04/2019^08:41^3.9333^-5.2833^Thonier arrivant sur le système détecté^null
    
    43
    -result.21=01/04/2019^09:41^3.9167^-5.25^Pêche (larguage du skiff)^null
    
    44
    -result.22=01/04/2019^09:41^3.9167^-5.25^Pêche (larguage du skiff)^null
    
    45
    -result.23=01/04/2019^12:15^3.9^-5.2833^Recherche (général)^null
    
    46
    -result.24=01/04/2019^12:34^3.9333^-5.3^Thonier arrivant sur le système détecté^null
    
    47
    -result.25=01/04/2019^12:40^3.9333^-5.3^Pêche (larguage du skiff)^null
    
    48
    -result.26=01/04/2019^16:15^3.8833^-5.2667^Recherche (général)^null
    
    49
    -result.27=01/04/2019^16:38^3.9333^-5.3^Thonier arrivant sur le système détecté^null
    
    50
    -result.28=01/04/2019^16:51^3.9333^-5.3^Pêche (larguage du skiff)^
    
    51
    -result.29=01/04/2019^21:17^3.95^-5.2167^Fin de veille^null
    
    52
    -result.30=01/04/2019^21:18^3.95^-5.2167^Transit (route sans recherche)^Route jusqu'à 22H
    
    53
    -result.31=02/04/2019^06:15^3.9^-5.1833^Recherche (général)^null
    
    54
    -result.32=02/04/2019^06:57^3.9333^-5.25^Thonier arrivant sur le système détecté^null
    
    55
    -result.33=02/04/2019^07:11^3.95^-5.25^Pêche (larguage du skiff)^
    
    56
    -result.34=02/04/2019^10:15^3.9167^-5.2167^Recherche (général)^null
    
    57
    -result.35=02/04/2019^12:15^3.8833^-5.25^Recherche (général)^null
    
    58
    -result.36=02/04/2019^13:58^3.9^-4.9333^Thonier arrivant sur le système détecté^
    
    59
    -result.37=02/04/2019^14:15^3.9^-4.9333^Thonier arrivant sur le système détecté^null
    
    60
    -result.38=02/04/2019^14:22^3.9^-4.95^Pêche (larguage du skiff)^null
    
    61
    -result.39=02/04/2019^18:44^3.8833^-4.95^Fin de veille^null
    
    62
    -result.40=02/04/2019^19:12^3.8667^-5.0^En dérive de nuit (moteur stoppé)^null
    
    63
    -result.41=03/04/2019^06:15^3.9^-4.9^Thonier arrivant sur le système détecté^
    
    64
    -result.42=03/04/2019^07:16^3.8833^-4.95^Thonier arrivant sur le système détecté^null
    
    65
    -result.43=03/04/2019^07:51^3.8833^-4.9333^Pêche (larguage du skiff)^null
    
    66
    -result.44=03/04/2019^10:15^3.8833^-4.9167^Thonier arrivant sur le système détecté^Banc sous autre senneur
    
    67
    -result.45=03/04/2019^12:15^3.9^-4.9167^Thonier arrivant sur le système détecté^	
    
    68
    -result.46=03/04/2019^14:15^3.9^-4.8833^Recherche (général)^null
    
    69
    -result.47=03/04/2019^15:28^3.9667^-4.85^Thonier arrivant sur le système détecté^
    
    70
    -result.48=03/04/2019^15:36^3.9667^-4.85^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    71
    -result.49=03/04/2019^16:15^3.8833^-4.9167^Recherche (général)^null
    
    72
    -result.50=03/04/2019^18:15^3.8667^-4.9833^Recherche (général)^null
    
    73
    -result.51=03/04/2019^18:42^3.8333^-5.05^Fin de veille^null
    
    74
    -result.52=03/04/2019^18:50^3.8167^-5.05^En dérive de nuit (moteur stoppé)^null
    
    75
    -result.53=04/04/2019^06:12^3.9^-4.8667^Recherche (général)^
    
    76
    -result.54=04/04/2019^08:12^3.8667^-4.8833^Recherche (général)^null
    
    77
    -result.55=04/04/2019^10:12^3.6^-4.6167^Recherche (général)^null
    
    78
    -result.56=04/04/2019^12:04^3.3^-4.4333^Thonier arrivant sur le système détecté^
    
    79
    -result.57=04/04/2019^12:12^3.3^-4.4333^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    80
    -result.58=04/04/2019^14:12^3.05^-4.7^Recherche (général)^null
    
    81
    -result.59=04/04/2019^15:43^2.8667^-4.9167^Thonier arrivant sur le système détecté^
    
    82
    -result.60=04/04/2019^15:46^2.8667^-4.9167^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    83
    -result.61=04/04/2019^16:12^2.8167^-5.0^Recherche (général)^null
    
    84
    -result.62=04/04/2019^18:12^2.6333^-5.3333^Recherche (général)^null
    
    85
    -result.63=04/04/2019^18:41^2.6^-5.4167^Fin de veille^null
    
    86
    -result.64=04/04/2019^18:42^2.6^-5.4167^Route de nuit vers objet^Route toute la nuit
    
    87
    -result.65=05/04/2019^06:20^1.5167^-7.4^Thonier arrivant sur le système détecté^
    
    88
    -result.66=05/04/2019^06:28^1.5^-7.4167^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    89
    -result.67=05/04/2019^07:02^1.5^-7.5333^Changement de zone FPA^null
    
    90
    -result.68=05/04/2019^07:11^1.5^-7.55^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    91
    -result.69=05/04/2019^07:34^1.5^-7.6333^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    92
    -result.70=05/04/2019^08:03^1.4667^-7.6833^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    93
    -result.71=05/04/2019^08:20^1.4333^-7.7167^Recherche (général)^null
    
    94
    -result.72=05/04/2019^08:32^1.4^-7.7333^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    95
    -result.73=05/04/2019^08:38^1.3833^-7.75^Thonier arrivant sur le système détecté^
    
    96
    -result.74=05/04/2019^08:50^1.3667^-7.7333^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    97
    -result.75=05/04/2019^09:07^1.4^-7.7667^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    98
    -result.76=05/04/2019^09:37^1.45^-7.8667^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    99
    -result.77=05/04/2019^10:02^1.4833^-7.9167^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    100
    -result.78=05/04/2019^10:20^1.5^-7.9667^Recherche (général)^null
    
    101
    -result.79=05/04/2019^10:29^1.4833^-7.9833^Thonier arrivant sur le système détecté^
    
    102
    -result.80=05/04/2019^10:41^1.5^-8.0^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    103
    -result.81=05/04/2019^11:03^1.5333^-8.05^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    104
    -result.82=05/04/2019^11:31^1.5833^-8.1167^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    105
    -result.83=05/04/2019^12:00^1.65^-8.1833^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    106
    -result.84=05/04/2019^12:20^1.7333^-8.2333^Recherche (général)^null
    
    107
    -result.85=05/04/2019^12:35^1.75^-8.2667^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    108
    -result.86=05/04/2019^13:04^1.8167^-8.3167^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    109
    -result.87=05/04/2019^13:30^1.85^-8.3333^Thonier arrivant sur le système détecté^
    
    110
    -result.88=05/04/2019^13:38^1.8667^-8.3333^Opération sur objet flottant (visite, pose, modification, récupération)^
    
    111
    -result.89=05/04/2019^14:00^1.9167^-8.3667^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    112
    -result.90=05/04/2019^14:19^1.95^-8.4167^Thonier arrivant sur le système détecté^
    
    113
    -result.91=05/04/2019^14:26^1.95^-8.4167^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    114
    -result.92=05/04/2019^15:05^2.0667^-8.4333^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    115
    -result.93=05/04/2019^15:35^2.15^-8.4333^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    116
    -result.94=05/04/2019^15:36^2.15^-8.4333^Thonier arrivant sur le système détecté^
    
    117
    -result.95=05/04/2019^15:46^2.15^-8.4333^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    118
    -result.96=05/04/2019^16:02^2.2^-8.4333^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    119
    -result.97=05/04/2019^16:20^2.2167^-8.4167^Recherche (général)^null
    
    120
    -result.98=05/04/2019^16:36^2.2667^-8.4^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    121
    -result.99=05/04/2019^16:46^2.2333^-8.3833^Thonier arrivant sur le système détecté^
    
    122
    -result.100=05/04/2019^16:53^2.2333^-8.3833^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    123
    -result.101=05/04/2019^17:08^2.2667^-8.3667^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    124
    -result.102=05/04/2019^17:17^2.2833^-8.35^Thonier arrivant sur le système détecté^
    
    125
    -result.103=05/04/2019^17:24^2.2833^-8.35^Opération sur objet flottant (visite, pose, modification, récupération)^
    
    126
    -result.104=05/04/2019^17:34^2.3^-8.3333^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    127
    -result.105=05/04/2019^17:37^2.3167^-8.3333^Fin de veille^null
    
    128
    -result.106=05/04/2019^18:00^2.3667^-8.3167^Thonier arrivant sur le système détecté^
    
    129
    -result.107=05/04/2019^18:15^2.35^-8.3167^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    130
    -result.108=05/04/2019^18:40^2.3333^-8.35^En dérive de nuit (moteur stoppé)^null
    
    131
    -result.109=06/04/2019^06:35^2.35^-8.3333^Avaries en mer^Avarie au niveau du moteur, navire stoppé (réparation en cours)
    
    132
    -result.110=06/04/2019^12:05^2.3333^-8.3333^Avaries en mer^Avarie au niveau du moteur, navire stoppé (réparation en cours)
    
    133
    -result.111=06/04/2019^17:55^2.3667^-8.2833^Transit (route sans recherche)^Réparation de l'avarie terminée.
    
    134
    -result.112=06/04/2019^18:00^2.3667^-8.2833^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    135
    -result.113=06/04/2019^18:16^2.3833^-8.25^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    136
    -result.114=06/04/2019^18:26^2.4^-8.2167^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    137
    -result.115=06/04/2019^18:36^2.4167^-8.2^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    138
    -result.116=06/04/2019^18:46^2.45^-8.1833^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    139
    -result.117=06/04/2019^18:57^2.4667^-8.15^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    140
    -result.118=06/04/2019^19:05^2.4833^-8.1333^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    141
    -result.119=06/04/2019^19:06^2.4833^-8.1333^Transit (route sans recherche)^Route de nuit
    
    142
    -result.120=07/04/2019^06:24^3.4333^-6.2^Changement de zone FPA^Changement de zone effectué le 06/04/2019 à 22H35 T.U à la position 02°45N et 007°33 W
    
    143
    -result.121=07/04/2019^08:24^3.65^-5.8667^Recherche (général)^null
    
    144
    -result.122=07/04/2019^10:24^3.8167^-5.5^Recherche (général)^null
    
    145
    -result.123=07/04/2019^12:24^3.9167^-5.1167^Thonier arrivant sur le système détecté^
    
    146
    -result.124=07/04/2019^12:43^3.9167^-5.1^Opération sur objet flottant (visite, pose, modification, récupération)^null
    
    147
    -result.125=07/04/2019^12:52^3.9167^-5.0833^Thonier arrivant sur le système détecté^
    
    148
    -result.126=07/04/2019^14:18^3.9^-5.0833^Thonier arrivant sur le système détecté^null
    
    149
    -result.127=07/04/2019^14:21^3.9^-5.0833^Pêche (larguage du skiff)^null
    
    150
    -result.128=07/04/2019^18:24^3.9^-4.8833^Recherche (général)^null
    
    151
    -result.129=07/04/2019^18:33^3.9^-4.8667^Fin de veille^Averse
    
    152
    -result.130=07/04/2019^18:34^3.9^-4.8667^Transit (route sans recherche)^Route de nuit jusqu'à 1H
    
    153
    -result.131=08/04/2019^06:30^4.0667^-3.45^Transit (route sans recherche)^navire en approche pour le début de l'aviataillement
    
    154
    -result.132=08/04/2019^07:30^4.0667^-3.45^Autres (à préciser dans les notes)^Début de l'aviatillement en gasoil.
    
    155
    -result.133=08/04/2019^11:34^4.1833^-3.3333^Autres (à préciser dans les notes)^Fin avitaillement en gasoil, poursuite de la route
    
    156
    -result.134=08/04/2019^12:30^4.3167^-3.4167^Recherche (général)^null
    
    157
    -result.135=08/04/2019^14:30^4.6^-3.6^Recherche (général)^null
    
    158
    -result.136=08/04/2019^16:00^4.8167^-3.75^Fin de veille^null
    
    159
    -result.137=08/04/2019^16:30^4.8833^-3.8167^Transit (route sans recherche)^
    
    160
    -result.138=08/04/2019^18:30^5.1^-3.95^Transit (route sans recherche)^null
    
    161
    -result.139=08/04/2019^21:05^5.2833^-4.0167^Au port^Navire au port de pêche d'Abidjan.
    
    162
    -syntax.name=Observations - Toutes les activités et leurs positions
    
    22
    +result.0=30/03/2019^18:00^5.2833^-4.0^0^Au port^CIV^Côte d'Ivoire^Départ du port de pêche pour la fin de la marée
    
    23
    +result.1=30/03/2019^19:00^5.1667^-4.0^1^Transit (route sans recherche)^CIV^Côte d'Ivoire^Route de nuit
    
    24
    +result.2=31/03/2019^06:13^3.95^-5.2667^2^Recherche (général)^CIV^Côte d'Ivoire^null
    
    25
    +result.3=31/03/2019^06:54^3.95^-5.35^5^Thonier arrivant sur le système détecté^CIV^Côte d'Ivoire^null
    
    26
    +result.4=31/03/2019^07:50^3.9667^-5.35^6^Pêche (larguage du skiff)^CIV^Côte d'Ivoire^null
    
    27
    +result.5=31/03/2019^10:55^3.9833^-5.2833^5^Thonier arrivant sur le système détecté^CIV^Côte d'Ivoire^null
    
    28
    +result.6=31/03/2019^11:24^3.9833^-5.2667^6^Pêche (larguage du skiff)^CIV^Côte d'Ivoire^null
    
    29
    +result.7=31/03/2019^14:56^3.95^-5.3333^5^Thonier arrivant sur le système détecté^CIV^Côte d'Ivoire^
    
    30
    +result.8=31/03/2019^15:05^3.95^-5.3333^13^Opération sur objet flottant (visite, pose, modification, récupération)^CIV^Côte d'Ivoire^null
    
    31
    +result.9=31/03/2019^16:11^3.8167^-5.4167^5^Thonier arrivant sur le système détecté^CIV^Côte d'Ivoire^	
    
    32
    +result.10=31/03/2019^16:22^3.8333^-5.4167^13^Opération sur objet flottant (visite, pose, modification, récupération)^CIV^Côte d'Ivoire^null
    
    33
    +result.11=31/03/2019^16:53^3.7833^-5.4833^5^Thonier arrivant sur le système détecté^CIV^Côte d'Ivoire^
    
    34
    +result.12=31/03/2019^17:03^3.7833^-5.4833^13^Opération sur objet flottant (visite, pose, modification, récupération)^CIV^Côte d'Ivoire^null
    
    35
    +result.13=31/03/2019^18:03^3.7833^-5.4667^2^Recherche (général)^CIV^Côte d'Ivoire^null
    
    36
    +result.14=31/03/2019^18:44^3.8667^-5.4833^16^Fin de veille^CIV^Côte d'Ivoire^null
    
    37
    +result.15=31/03/2019^19:00^3.9^-5.5^9^En dérive de nuit (moteur stoppé)^CIV^Côte d'Ivoire^null
    
    38
    +result.16=01/04/2019^06:15^3.9833^-5.3167^2^Recherche (général)^CIV^Côte d'Ivoire^null
    
    39
    +result.17=01/04/2019^07:43^3.8333^-5.2667^5^Thonier arrivant sur le système détecté^CIV^Côte d'Ivoire^
    
    40
    +result.18=01/04/2019^07:56^3.8333^-5.25^13^Opération sur objet flottant (visite, pose, modification, récupération)^CIV^Côte d'Ivoire^null
    
    41
    +result.19=01/04/2019^08:15^3.8833^-5.2333^2^Recherche (général)^CIV^Côte d'Ivoire^null
    
    42
    +result.20=01/04/2019^08:41^3.9333^-5.2833^5^Thonier arrivant sur le système détecté^CIV^Côte d'Ivoire^null
    
    43
    +result.21=01/04/2019^09:41^3.9167^-5.25^6^Pêche (larguage du skiff)^CIV^Côte d'Ivoire^null
    
    44
    +result.22=01/04/2019^09:41^3.9167^-5.25^6^Pêche (larguage du skiff)^CIV^Côte d'Ivoire^null
    
    45
    +result.23=01/04/2019^12:15^3.9^-5.2833^2^Recherche (général)^CIV^Côte d'Ivoire^null
    
    46
    +result.24=01/04/2019^12:34^3.9333^-5.3^5^Thonier arrivant sur le système détecté^CIV^Côte d'Ivoire^null
    
    47
    +result.25=01/04/2019^12:40^3.9333^-5.3^6^Pêche (larguage du skiff)^CIV^Côte d'Ivoire^null
    
    48
    +result.26=01/04/2019^16:15^3.8833^-5.2667^2^Recherche (général)^CIV^Côte d'Ivoire^null
    
    49
    +result.27=01/04/2019^16:38^3.9333^-5.3^5^Thonier arrivant sur le système détecté^CIV^Côte d'Ivoire^null
    
    50
    +result.28=01/04/2019^16:51^3.9333^-5.3^6^Pêche (larguage du skiff)^CIV^Côte d'Ivoire^
    
    51
    +result.29=01/04/2019^21:17^3.95^-5.2167^16^Fin de veille^CIV^Côte d'Ivoire^null
    
    52
    +result.30=01/04/2019^21:18^3.95^-5.2167^1^Transit (route sans recherche)^CIV^Côte d'Ivoire^Route jusqu'à 22H
    
    53
    +result.31=02/04/2019^06:15^3.9^-5.1833^2^Recherche (général)^CIV^Côte d'Ivoire^null
    
    54
    +result.32=02/04/2019^06:57^3.9333^-5.25^5^Thonier arrivant sur le système détecté^CIV^Côte d'Ivoire^null
    
    55
    +result.33=02/04/2019^07:11^3.95^-5.25^6^Pêche (larguage du skiff)^CIV^Côte d'Ivoire^
    
    56
    +result.34=02/04/2019^10:15^3.9167^-5.2167^2^Recherche (général)^CIV^Côte d'Ivoire^null
    
    57
    +result.35=02/04/2019^12:15^3.8833^-5.25^2^Recherche (général)^CIV^Côte d'Ivoire^null
    
    58
    +result.36=02/04/2019^13:58^3.9^-4.9333^5^Thonier arrivant sur le système détecté^CIV^Côte d'Ivoire^
    
    59
    +result.37=02/04/2019^14:15^3.9^-4.9333^5^Thonier arrivant sur le système détecté^CIV^Côte d'Ivoire^null
    
    60
    +result.38=02/04/2019^14:22^3.9^-4.95^6^Pêche (larguage du skiff)^CIV^Côte d'Ivoire^null
    
    61
    +result.39=02/04/2019^18:44^3.8833^-4.95^16^Fin de veille^CIV^Côte d'Ivoire^null
    
    62
    +result.40=02/04/2019^19:12^3.8667^-5.0^9^En dérive de nuit (moteur stoppé)^CIV^Côte d'Ivoire^null
    
    63
    +result.41=03/04/2019^06:15^3.9^-4.9^5^Thonier arrivant sur le système détecté^CIV^Côte d'Ivoire^
    
    64
    +result.42=03/04/2019^07:16^3.8833^-4.95^5^Thonier arrivant sur le système détecté^CIV^Côte d'Ivoire^null
    
    65
    +result.43=03/04/2019^07:51^3.8833^-4.9333^6^Pêche (larguage du skiff)^CIV^Côte d'Ivoire^null
    
    66
    +result.44=03/04/2019^10:15^3.8833^-4.9167^5^Thonier arrivant sur le système détecté^CIV^Côte d'Ivoire^Banc sous autre senneur
    
    67
    +result.45=03/04/2019^12:15^3.9^-4.9167^5^Thonier arrivant sur le système détecté^CIV^Côte d'Ivoire^	
    
    68
    +result.46=03/04/2019^14:15^3.9^-4.8833^2^Recherche (général)^CIV^Côte d'Ivoire^null
    
    69
    +result.47=03/04/2019^15:28^3.9667^-4.85^5^Thonier arrivant sur le système détecté^CIV^Côte d'Ivoire^
    
    70
    +result.48=03/04/2019^15:36^3.9667^-4.85^13^Opération sur objet flottant (visite, pose, modification, récupération)^CIV^Côte d'Ivoire^null
    
    71
    +result.49=03/04/2019^16:15^3.8833^-4.9167^2^Recherche (général)^CIV^Côte d'Ivoire^null
    
    72
    +result.50=03/04/2019^18:15^3.8667^-4.9833^2^Recherche (général)^CIV^Côte d'Ivoire^null
    
    73
    +result.51=03/04/2019^18:42^3.8333^-5.05^16^Fin de veille^CIV^Côte d'Ivoire^null
    
    74
    +result.52=03/04/2019^18:50^3.8167^-5.05^9^En dérive de nuit (moteur stoppé)^CIV^Côte d'Ivoire^null
    
    75
    +result.53=04/04/2019^06:12^3.9^-4.8667^2^Recherche (général)^CIV^Côte d'Ivoire^
    
    76
    +result.54=04/04/2019^08:12^3.8667^-4.8833^2^Recherche (général)^CIV^Côte d'Ivoire^null
    
    77
    +result.55=04/04/2019^10:12^3.6^-4.6167^2^Recherche (général)^CIV^Côte d'Ivoire^null
    
    78
    +result.56=04/04/2019^12:04^3.3^-4.4333^5^Thonier arrivant sur le système détecté^CIV^Côte d'Ivoire^
    
    79
    +result.57=04/04/2019^12:12^3.3^-4.4333^13^Opération sur objet flottant (visite, pose, modification, récupération)^CIV^Côte d'Ivoire^null
    
    80
    +result.58=04/04/2019^14:12^3.05^-4.7^2^Recherche (général)^CIV^Côte d'Ivoire^null
    
    81
    +result.59=04/04/2019^15:43^2.8667^-4.9167^5^Thonier arrivant sur le système détecté^CIV^Côte d'Ivoire^
    
    82
    +result.60=04/04/2019^15:46^2.8667^-4.9167^13^Opération sur objet flottant (visite, pose, modification, récupération)^CIV^Côte d'Ivoire^null
    
    83
    +result.61=04/04/2019^16:12^2.8167^-5.0^2^Recherche (général)^CIV^Côte d'Ivoire^null
    
    84
    +result.62=04/04/2019^18:12^2.6333^-5.3333^2^Recherche (général)^CIV^Côte d'Ivoire^null
    
    85
    +result.63=04/04/2019^18:41^2.6^-5.4167^16^Fin de veille^CIV^Côte d'Ivoire^null
    
    86
    +result.64=04/04/2019^18:42^2.6^-5.4167^18^Route de nuit vers objet^CIV^Côte d'Ivoire^Route toute la nuit
    
    87
    +result.65=05/04/2019^06:20^1.5167^-7.4^5^Thonier arrivant sur le système détecté^CIV^Côte d'Ivoire^
    
    88
    +result.66=05/04/2019^06:28^1.5^-7.4167^13^Opération sur objet flottant (visite, pose, modification, récupération)^CIV^Côte d'Ivoire^null
    
    89
    +result.67=05/04/2019^07:02^1.5^-7.5333^21^Changement de zone FPA^CIV^Côte d'Ivoire^null
    
    90
    +result.68=05/04/2019^07:11^1.5^-7.55^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    91
    +result.69=05/04/2019^07:34^1.5^-7.6333^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    92
    +result.70=05/04/2019^08:03^1.4667^-7.6833^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    93
    +result.71=05/04/2019^08:20^1.4333^-7.7167^2^Recherche (général)^LBR^Libéria^null
    
    94
    +result.72=05/04/2019^08:32^1.4^-7.7333^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    95
    +result.73=05/04/2019^08:38^1.3833^-7.75^5^Thonier arrivant sur le système détecté^LBR^Libéria^
    
    96
    +result.74=05/04/2019^08:50^1.3667^-7.7333^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    97
    +result.75=05/04/2019^09:07^1.4^-7.7667^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    98
    +result.76=05/04/2019^09:37^1.45^-7.8667^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    99
    +result.77=05/04/2019^10:02^1.4833^-7.9167^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    100
    +result.78=05/04/2019^10:20^1.5^-7.9667^2^Recherche (général)^LBR^Libéria^null
    
    101
    +result.79=05/04/2019^10:29^1.4833^-7.9833^5^Thonier arrivant sur le système détecté^LBR^Libéria^
    
    102
    +result.80=05/04/2019^10:41^1.5^-8.0^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    103
    +result.81=05/04/2019^11:03^1.5333^-8.05^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    104
    +result.82=05/04/2019^11:31^1.5833^-8.1167^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    105
    +result.83=05/04/2019^12:00^1.65^-8.1833^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    106
    +result.84=05/04/2019^12:20^1.7333^-8.2333^2^Recherche (général)^LBR^Libéria^null
    
    107
    +result.85=05/04/2019^12:35^1.75^-8.2667^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    108
    +result.86=05/04/2019^13:04^1.8167^-8.3167^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    109
    +result.87=05/04/2019^13:30^1.85^-8.3333^5^Thonier arrivant sur le système détecté^LBR^Libéria^
    
    110
    +result.88=05/04/2019^13:38^1.8667^-8.3333^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^
    
    111
    +result.89=05/04/2019^14:00^1.9167^-8.3667^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    112
    +result.90=05/04/2019^14:19^1.95^-8.4167^5^Thonier arrivant sur le système détecté^LBR^Libéria^
    
    113
    +result.91=05/04/2019^14:26^1.95^-8.4167^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    114
    +result.92=05/04/2019^15:05^2.0667^-8.4333^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    115
    +result.93=05/04/2019^15:35^2.15^-8.4333^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    116
    +result.94=05/04/2019^15:36^2.15^-8.4333^5^Thonier arrivant sur le système détecté^LBR^Libéria^
    
    117
    +result.95=05/04/2019^15:46^2.15^-8.4333^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    118
    +result.96=05/04/2019^16:02^2.2^-8.4333^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    119
    +result.97=05/04/2019^16:20^2.2167^-8.4167^2^Recherche (général)^LBR^Libéria^null
    
    120
    +result.98=05/04/2019^16:36^2.2667^-8.4^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    121
    +result.99=05/04/2019^16:46^2.2333^-8.3833^5^Thonier arrivant sur le système détecté^LBR^Libéria^
    
    122
    +result.100=05/04/2019^16:53^2.2333^-8.3833^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    123
    +result.101=05/04/2019^17:08^2.2667^-8.3667^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    124
    +result.102=05/04/2019^17:17^2.2833^-8.35^5^Thonier arrivant sur le système détecté^LBR^Libéria^
    
    125
    +result.103=05/04/2019^17:24^2.2833^-8.35^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^
    
    126
    +result.104=05/04/2019^17:34^2.3^-8.3333^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    127
    +result.105=05/04/2019^17:37^2.3167^-8.3333^16^Fin de veille^LBR^Libéria^null
    
    128
    +result.106=05/04/2019^18:00^2.3667^-8.3167^5^Thonier arrivant sur le système détecté^LBR^Libéria^
    
    129
    +result.107=05/04/2019^18:15^2.35^-8.3167^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    130
    +result.108=05/04/2019^18:40^2.3333^-8.35^9^En dérive de nuit (moteur stoppé)^LBR^Libéria^null
    
    131
    +result.109=06/04/2019^06:35^2.35^-8.3333^11^Avaries en mer^LBR^Libéria^Avarie au niveau du moteur, navire stoppé (réparation en cours)
    
    132
    +result.110=06/04/2019^12:05^2.3333^-8.3333^11^Avaries en mer^LBR^Libéria^Avarie au niveau du moteur, navire stoppé (réparation en cours)
    
    133
    +result.111=06/04/2019^17:55^2.3667^-8.2833^1^Transit (route sans recherche)^LBR^Libéria^Réparation de l'avarie terminée.
    
    134
    +result.112=06/04/2019^18:00^2.3667^-8.2833^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    135
    +result.113=06/04/2019^18:16^2.3833^-8.25^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    136
    +result.114=06/04/2019^18:26^2.4^-8.2167^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    137
    +result.115=06/04/2019^18:36^2.4167^-8.2^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    138
    +result.116=06/04/2019^18:46^2.45^-8.1833^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    139
    +result.117=06/04/2019^18:57^2.4667^-8.15^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    140
    +result.118=06/04/2019^19:05^2.4833^-8.1333^13^Opération sur objet flottant (visite, pose, modification, récupération)^LBR^Libéria^null
    
    141
    +result.119=06/04/2019^19:06^2.4833^-8.1333^1^Transit (route sans recherche)^LBR^Libéria^Route de nuit
    
    142
    +result.120=07/04/2019^06:24^3.4333^-6.2^21^Changement de zone FPA^null^null^Changement de zone effectué le 06/04/2019 à 22H35 T.U à la position 02°45N et 007°33 W
    
    143
    +result.121=07/04/2019^08:24^3.65^-5.8667^2^Recherche (général)^CIV^Côte d'Ivoire^null
    
    144
    +result.122=07/04/2019^10:24^3.8167^-5.5^2^Recherche (général)^CIV^Côte d'Ivoire^null
    
    145
    +result.123=07/04/2019^12:24^3.9167^-5.1167^5^Thonier arrivant sur le système détecté^CIV^Côte d'Ivoire^
    
    146
    +result.124=07/04/2019^12:43^3.9167^-5.1^13^Opération sur objet flottant (visite, pose, modification, récupération)^CIV^Côte d'Ivoire^null
    
    147
    +result.125=07/04/2019^12:52^3.9167^-5.0833^5^Thonier arrivant sur le système détecté^CIV^Côte d'Ivoire^
    
    148
    +result.126=07/04/2019^14:18^3.9^-5.0833^5^Thonier arrivant sur le système détecté^CIV^Côte d'Ivoire^null
    
    149
    +result.127=07/04/2019^14:21^3.9^-5.0833^6^Pêche (larguage du skiff)^CIV^Côte d'Ivoire^null
    
    150
    +result.128=07/04/2019^18:24^3.9^-4.8833^2^Recherche (général)^CIV^Côte d'Ivoire^null
    
    151
    +result.129=07/04/2019^18:33^3.9^-4.8667^16^Fin de veille^CIV^Côte d'Ivoire^Averse
    
    152
    +result.130=07/04/2019^18:34^3.9^-4.8667^1^Transit (route sans recherche)^CIV^Côte d'Ivoire^Route de nuit jusqu'à 1H
    
    153
    +result.131=08/04/2019^06:30^4.0667^-3.45^1^Transit (route sans recherche)^CIV^Côte d'Ivoire^navire en approche pour le début de l'aviataillement
    
    154
    +result.132=08/04/2019^07:30^4.0667^-3.45^99^Autres (à préciser dans les notes)^CIV^Côte d'Ivoire^Début de l'aviatillement en gasoil.
    
    155
    +result.133=08/04/2019^11:34^4.1833^-3.3333^99^Autres (à préciser dans les notes)^CIV^Côte d'Ivoire^Fin avitaillement en gasoil, poursuite de la route
    
    156
    +result.134=08/04/2019^12:30^4.3167^-3.4167^2^Recherche (général)^CIV^Côte d'Ivoire^null
    
    157
    +result.135=08/04/2019^14:30^4.6^-3.6^2^Recherche (général)^CIV^Côte d'Ivoire^null
    
    158
    +result.136=08/04/2019^16:00^4.8167^-3.75^16^Fin de veille^CIV^Côte d'Ivoire^null
    
    159
    +result.137=08/04/2019^16:30^4.8833^-3.8167^1^Transit (route sans recherche)^CIV^Côte d'Ivoire^
    
    160
    +result.138=08/04/2019^18:30^5.1^-3.95^1^Transit (route sans recherche)^CIV^Côte d'Ivoire^null
    
    161
    +result.139=08/04/2019^21:05^5.2833^-4.0167^0^Au port^CIV^Côte d'Ivoire^Navire au port de pêche d'Abidjan.
    
    162
    +syntax.name=Observations - Toutes les activités, leurs positions et zones FPA
    
    163 163
     syntax.description=Afficher toutes les activités et leurs positions géographiques
    
    164 164
     syntax.rows=-1
    
    165
    -syntax.columns=6
    
    166
    -syntax.columnsHeader=Jour^Heure observation^Latitude^Longitude^Activité^Commentaire
    
    165
    +syntax.columns=9
    
    166
    +syntax.columnsHeader=Jour^Heure observation^Latitude^Longitude^Activité (code)^Activité (nom)^Zone FPA (code)^Zone FPA (nom)^Commentaire
    
    167 167
     syntax.rowsHeader=
    
    168 168
     syntax.nbRequests=1
    
    169
    -result.columns=6
    
    169
    +result.columns=9
    
    170 170
     result.rows=140
    \ No newline at end of file

  • core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-psObservationFobUsageExtended.properties
    ... ... @@ -19,14 +19,14 @@
    19 19
     # <http://www.gnu.org/licenses/gpl-3.0.html>.
    
    20 20
     # #L%
    
    21 21
     ###
    
    22
    -result.0=FOB - FOB^0^1^0^0^0^0^0^0^0^0^0^0^0^0^0^0^null
    
    23
    -result.1=DFAD - DFAD (FAD dérivant)^1^15^1^27^0^0^0^0^0^0^0^0^0^0^0^0^null
    
    22
    +result.0=DFAD - DFAD (FAD dérivant)^1^15^1^27^0^0^0^0^0^0^0^0^0^0^0^0^0
    
    23
    +result.1=FOB - FOB^0^1^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0
    
    24 24
     result.columns=18
    
    25 25
     result.rows=2
    
    26 26
     syntax.columns=18
    
    27 27
     syntax.columnsHeader=Type de FOB^Visités Pêchés^Visités non Pêchés^Déploiement après Pêches^Déploiement seul^Modifiés Pêchés^Modifiés non Pêchés^Retirés Pêchés^Retirés non Pêchés^Abandonnés Pêchés^Abandonnés non Pêchés^Coulés Pêchés^Coulés non Pêchés^Remplacés Pêchés^Remplacés non Pêchés^Autre Pêchés^Autre non Pêchés^Tortues associées
    
    28 28
     syntax.description=Tableau récapitulatif des FOB rencontrés, par types CECOFAD et types d’actions (déploiements, simples visites, modifications, diverses modalités de retraits), avec et sans pêche, et nombres de tortues observées
    
    29 29
     syntax.name=Observations - Utilisation des FOB, tableau détaillé
    
    30
    -syntax.nbRequests=18
    
    30
    +syntax.nbRequests=2
    
    31 31
     syntax.rows=-1
    
    32 32
     syntax.rowsHeader=

  • core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-psObservationFobUsageMinimal.properties
    ... ... @@ -19,14 +19,14 @@
    19 19
     # <http://www.gnu.org/licenses/gpl-3.0.html>.
    
    20 20
     # #L%
    
    21 21
     ###
    
    22
    -result.0=FOB - FOB^0^1^0^null
    
    23
    -result.1=DFAD - DFAD (FAD dérivant)^1^15^28^null
    
    22
    +result.0=DFAD - DFAD (FAD dérivant)^1^15^28^0
    
    23
    +result.1=FOB - FOB^0^1^0^0
    
    24 24
     result.columns=5
    
    25 25
     result.rows=2
    
    26 26
     syntax.columns=5
    
    27 27
     syntax.columnsHeader=Type de FOB^Rencontrés pêchés^Rencontrés non pêchés^Déployés^Tortues associées
    
    28 28
     syntax.description=Tableau récapitulatif des FOB rencontrés, par types CECOFAD et types d’actions regroupés (rencontrés et pêchés, rencontrés non pêchés, déployés), et nombres de tortues observées
    
    29 29
     syntax.name=Observations - Utilisation des FOB, tableau simplifiée
    
    30
    -syntax.nbRequests=5
    
    30
    +syntax.nbRequests=2
    
    31 31
     syntax.rows=-1
    
    32 32
     syntax.rowsHeader=

  • core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService.properties
    ... ... @@ -19,4 +19,4 @@
    19 19
     # <http://www.gnu.org/licenses/gpl-3.0.html>.
    
    20 20
     # #L%
    
    21 21
     ###
    
    22
    -report.count=34
    22
    +report.count=35

  • src/site/markdown/report/embedded-reports.md
    ... ... @@ -86,6 +86,10 @@ Livre de bord - Vérification des plan de cuves
    86 86
     
    
    87 87
     Observations - Activités avec comment et leurs positions
    
    88 88
     
    
    89
    +## psObservationActivitiesByZone
    
    90
    +
    
    91
    +Observations - Types d'activités par zones FPA
    
    92
    +
    
    89 93
     ### psObservationAllActivities
    
    90 94
     
    
    91 95
     Observations - Toutes les activités et leurs positions
    

  • toolkit/api-report/src/main/java/fr/ird/observe/report/ReportRequestExecutor.java
    ... ... @@ -107,7 +107,9 @@ public interface ReportRequestExecutor {
    107 107
                 String variableName = variable.getName();
    
    108 108
                 if (variable.isValuesLoaded()) {
    
    109 109
                     // variable already loaded
    
    110
    -                log.debug(String.format("Do not populate variable %s, variable already loaded.", variableName));
    
    110
    +                if (log.isDebugEnabled()) {
    
    111
    +                    log.debug(String.format("Do not populate variable %s, variable already loaded.", variableName));
    
    112
    +                }
    
    111 113
                     continue;
    
    112 114
                 }
    
    113 115
                 Map<String, Object> vars = new TreeMap<>();
    
    ... ... @@ -178,64 +180,84 @@ public interface ReportRequestExecutor {
    178 180
             }
    
    179 181
             // remplissage des variables de répétition si nécessaire
    
    180 182
             populateRepeatVariables(report, tripId);
    
    181
    -        log.debug(String.format("Build result for report [%s] on %s", report.getName(), tripId));
    
    183
    +        if (log.isDebugEnabled()) {
    
    184
    +            log.debug(String.format("Build result for report [%s] on %s", report.getName(), tripId));
    
    185
    +        }
    
    182 186
             int rows = report.getRows();
    
    183 187
             int columns = report.getColumns();
    
    184
    -        log.debug(String.format("Dimension : [%d,%d]", rows, columns));
    
    188
    +        if (log.isDebugEnabled()) {
    
    189
    +            log.debug(String.format("Dimension : [%d,%d]", rows, columns));
    
    190
    +        }
    
    185 191
             // lancement de la première opération et la matrice de résultat
    
    186 192
             DataMatrix result = ReportOperationConsumers.executeReportOperation(this, ExecuteRequests.OPERATION, report, tripId, new DataMatrix());
    
    187 193
             // lancement des opérations supplémentaires
    
    188 194
             for (ReportOperationDefinition operation : report.getOperations()) {
    
    189 195
                 DataMatrix tmp = result;
    
    190
    -            log.debug(String.format("Apply operation %s to %s", operation, tmp));
    
    196
    +            if (log.isDebugEnabled()) {
    
    197
    +                log.debug(String.format("Apply operation %s to %s", operation, tmp));
    
    198
    +            }
    
    191 199
                 result = ReportOperationConsumers.executeReportOperation(this, operation, report, tripId, tmp);
    
    192 200
             }
    
    193
    -        log.debug(String.format("Final result : %s", result));
    
    201
    +        if (log.isDebugEnabled()) {
    
    202
    +            log.debug(String.format("Final result : %s", result));
    
    203
    +        }
    
    194 204
             return result;
    
    195 205
         }
    
    196 206
     
    
    197 207
         default DataMatrix executeReportRequest(ReportRequestDefinition request, Report report, Set<String> dataId) {
    
    198
    -        Map<String, Object> params = extractParams(report, dataId);
    
    199
    -        ReportDefinition reportDefinition = report.definition();
    
    200
    -        String hql = i18nContext().translateRequest(reportDefinition, request);
    
    201
    -        for (ReportRepeatVariable<?> repeatVariable : report.getRepeatVariables()) {
    
    202
    -            if (isVariableUsed(hql, repeatVariable.getName())) {
    
    203
    -                // add this repeat variable values to parameters
    
    204
    -                params.put(repeatVariable.getName(), repeatVariable.computeIndexList());
    
    208
    +        long t0 = TimeLog.getTime();
    
    209
    +        try {
    
    210
    +            Map<String, Object> params = extractParams(report, dataId);
    
    211
    +            ReportDefinition reportDefinition = report.definition();
    
    212
    +            String hql = i18nContext().translateRequest(reportDefinition, request);
    
    213
    +            for (ReportRepeatVariable<?> repeatVariable : report.getRepeatVariables()) {
    
    214
    +                if (isVariableUsed(hql, repeatVariable.getName())) {
    
    215
    +                    // add this repeat variable values to parameters
    
    216
    +                    params.put(repeatVariable.getName(), repeatVariable.computeIndexList());
    
    217
    +                }
    
    205 218
                 }
    
    219
    +            return executeReportRequest(reportDefinition, request, params);
    
    220
    +        } finally {
    
    221
    +            TIME_LOG.log(t0, "executeReportRequest", request.toString());
    
    206 222
             }
    
    207
    -        return executeReportRequest(reportDefinition, request, params);
    
    208 223
         }
    
    209 224
     
    
    210 225
         default DataMatrix executeReportRequest(ReportRequestDefinition request, Report report, Set<String> dataId, ReportRepeatVariable<?> repeatValues) {
    
    211
    -        Map<String, Object> params = extractParams(report, dataId);
    
    212
    -        DataMatrix result = new DataMatrix();
    
    213
    -        RequestRepeatVariableDefinition requestRepeatVariable = request.getRepeat();
    
    214
    -        RequestLayout requestRepeatVariableLayout = requestRepeatVariable.getLayout();
    
    215
    -        String repeatVariableName = requestRepeatVariable.getVariableName();
    
    216
    -        ReportDefinition reportDefinition = report.definition();
    
    217
    -        for (Object repeatValue : repeatValues.getValues()) {
    
    218
    -            params.put(repeatVariableName, repeatValue);
    
    219
    -            DataMatrix tmp = executeReportRequest(reportDefinition, request, params);
    
    220
    -            switch (requestRepeatVariableLayout) {
    
    221
    -                case row:
    
    222
    -                    // add current result on the same row (at the right of the current result)
    
    223
    -                    tmp.setX(result.getX() + result.getWidth());
    
    224
    -                    tmp.setY(result.getY());
    
    225
    -                    break;
    
    226
    -                case column:
    
    227
    -                    // add current result on the same column (at the bottom of the current result)
    
    228
    -                    tmp.setX(result.getX());
    
    229
    -                    tmp.setY(result.getY() + result.getHeight());
    
    230
    -                    break;
    
    226
    +        long t0 = TimeLog.getTime();
    
    227
    +        try {
    
    228
    +            Map<String, Object> params = extractParams(report, dataId);
    
    229
    +            DataMatrix result = new DataMatrix();
    
    230
    +            RequestRepeatVariableDefinition requestRepeatVariable = request.getRepeat();
    
    231
    +            RequestLayout requestRepeatVariableLayout = requestRepeatVariable.getLayout();
    
    232
    +            String repeatVariableName = requestRepeatVariable.getVariableName();
    
    233
    +            ReportDefinition reportDefinition = report.definition();
    
    234
    +            for (Object repeatValue : repeatValues.getValues()) {
    
    235
    +                params.put(repeatVariableName, repeatValue);
    
    236
    +                DataMatrix tmp = executeReportRequest(reportDefinition, request, params);
    
    237
    +                switch (requestRepeatVariableLayout) {
    
    238
    +                    case row:
    
    239
    +                        // add current result on the same row (at the right of the current result)
    
    240
    +                        tmp.setX(result.getX() + result.getWidth());
    
    241
    +                        tmp.setY(result.getY());
    
    242
    +                        break;
    
    243
    +                    case column:
    
    244
    +                        // add current result on the same column (at the bottom of the current result)
    
    245
    +                        tmp.setX(result.getX());
    
    246
    +                        tmp.setY(result.getY() + result.getHeight());
    
    247
    +                        break;
    
    248
    +                }
    
    249
    +                result = DataMatrix.merge(result, tmp);
    
    231 250
                 }
    
    232
    -            result = DataMatrix.merge(result, tmp);
    
    251
    +            result.setX(request.getX());
    
    252
    +            result.setY(request.getY());
    
    253
    +            if (log.isDebugEnabled()) {
    
    254
    +                log.debug(String.format("Result location  : %s", result.getLocation()));
    
    255
    +                log.debug(String.format("Result data      :\n%s", result.getClipboardContent(true, true, false, '\t')));
    
    256
    +            }
    
    257
    +            return result;
    
    258
    +        } finally {
    
    259
    +            TIME_LOG.log(t0, "executeReportRequest", request.toString());
    
    233 260
             }
    
    234
    -        result.setX(request.getX());
    
    235
    -        result.setY(request.getY());
    
    236
    -        log.debug(String.format("Result location  : %s", result.getLocation()));
    
    237
    -        log.debug(String.format("Result data      :\n%s", result.getClipboardContent(true, true, false, '\t')));
    
    238
    -        return result;
    
    239 261
         }
    
    240 262
     
    
    241 263
         default DataMatrix executeReportRequest(ReportDefinition reportDefinition, ReportRequestDefinition reportRequestDefinition, Map<String, Object> params) {