Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: b5b80021 by Tony Chemit at 2024-03-18T11:00:40+01:00 Optimisation du rapport Livre de bord - Vérification des plan de cuves - Closes #2849 - - - - - 56d7291a by Tony Chemit at 2024-03-18T11:00:40+01:00 Optimisation du rapport Livre de bord - Plan de cuves - Closes #2850 - - - - - 294f63b2 by Tony Chemit at 2024-03-18T11:00:46+01:00 Optimisation du rapport Observations - Utilisation des FOB, tableau simplifiée - Closes #2851 - - - - - 7f181c46 by Tony Chemit at 2024-03-18T11:00:53+01:00 Optimisation du rapport Observations - Utilisation des FOB, tableau détaillé - Closes #2852 - - - - - 8aa68e2b by Tony Chemit at 2024-03-18T11:00:53+01:00 Lors d'exports massifs de données, le token expire rapidement et fait échouer la suite du processus - Closes #2839 - - - - - 8634165e by Tony Chemit at 2024-03-18T11:00:53+01:00 Amélioration de la taille des colonnes du tableau des résultats d'un rapport - Closes #2853 - - - - - 11 changed files: - client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/export/actions/Prepare.java - client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/report/ReportModel.java - core/persistence/report/src/main/resources/META-INF/report/default/ps/psLogbookWellPlan.report - core/persistence/report/src/main/resources/META-INF/report/default/ps/psLogbookWellPlanCheck.report - core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationFobUsageExtended.report - core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationFobUsageMinimal.report - core/services/test/src/main/java/fr/ird/observe/services/service/report/ps/PsObservationFobUsageExtendedReportFixture.java - core/services/test/src/main/java/fr/ird/observe/services/service/report/ps/PsObservationFobUsageMinimalReportFixture.java - core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-psLogbookWellPlanCheck.properties - core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-psObservationFobUsageExtended.properties - core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-psObservationFobUsageMinimal.properties Changes: ===================================== client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/export/actions/Prepare.java ===================================== @@ -58,7 +58,7 @@ public class Prepare extends ExportUIActionSupport { addAdminWorker(ui.getPrepare().getToolTipText(), this::doPrepareAction0); } - private WizardState doPrepareAction0() throws Exception { + private WizardState doPrepareAction0() { AdminUIModel model = ui.getModel(); List<CopyDataTask> data = CopyDataTask.of(TaskSide.FROM_LEFT, model.getSelectDataModel().getSelectionDataModel()).collect(Collectors.toList()); @@ -70,10 +70,6 @@ public class Prepare extends ExportUIActionSupport { ConfigModel configModel = model.getConfigModel(); ObserveSwingDataSource targetSource = configModel.getRightSourceModel().getSafeSourceNotOpened(); - if (!targetSource.canWriteData()) { - throw new IllegalStateException(String.format("Can't export if target source (%s) has no data rights", targetSource.getLabel())); - } - ObserveSwingDataSource incomingSource = configModel.getLeftSourceModel().getSafeSourceNotOpened(); stepModel.setData(data); ===================================== client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/report/ReportModel.java ===================================== @@ -57,7 +57,11 @@ import javax.swing.JComboBox; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingUtilities; +import javax.swing.table.TableCellRenderer; +import javax.swing.table.TableColumn; +import javax.swing.table.TableColumnModel; import java.awt.BorderLayout; +import java.awt.Component; import java.awt.event.ItemEvent; import java.beans.PropertyChangeListener; import java.io.File; @@ -508,6 +512,9 @@ public class ReportModel extends AdminActionModel { if (reportColumnRenderersParameters != null) { reportColumnRenderersParameters.consumeColumnRenderersSwing(resultTable); } + resizeColumnWidth(resultTable,-1); + + } catch (Exception e) { clearResult(ui); throw e; @@ -516,6 +523,30 @@ public class ReportModel extends AdminActionModel { } } + public static void resizeColumnWidth(JXTable table, int maxWidth) { + final TableColumnModel columnModel = table.getColumnModel(); + for (int column = 0; column < table.getColumnCount(); column++) { + // Account for header size + TableColumn tableColumn = table.getColumnModel().getColumn(column); + TableCellRenderer renderer = tableColumn.getCellRenderer(); + if (renderer==null) { + renderer = table.getTableHeader().getDefaultRenderer(); + } + Component component = renderer.getTableCellRendererComponent(table, tableColumn.getHeaderValue(), false, false, -1, column); + double width = component.getPreferredSize().width; + for (int row = 0; row < table.getRowCount(); row++) { + renderer = table.getCellRenderer(row, column); + Component comp = table.prepareRenderer(renderer, row, column); + width = Math.max(comp.getPreferredSize().width + 1, width); + } + if (maxWidth>0 && width > maxWidth) { + width = maxWidth; + } + tableColumn.setPreferredWidth((int) width); + log.debug("Column {} - width (min/max/pref): {} {}/{}/{}", tableColumn.getModelIndex(), tableColumn.getWidth(), tableColumn.getMinWidth(), tableColumn.getMaxWidth(), tableColumn.getPreferredWidth()); + } + } + private void clearResult(ReportUI ui) { getResultModel().clear(); ui.getConfigurationPane().setTitle(null); ===================================== core/persistence/report/src/main/resources/META-INF/report/default/ps/psLogbookWellPlan.report ===================================== @@ -39,19 +39,16 @@ w.well, \ r.date, \ a.number, \ Cast(a.time As java.sql.Time), \ -species.@i18nColumnName@, \ -weightCategory.@i18nColumnName@, \ +was.species.@i18nColumnName@, \ +was.weightCategory.@i18nColumnName@, \ was.weight \ From TripImpl t \ Join t.well w \ Join w.wellActivity wa \ Join wa.wellActivitySpecies was \ -Join was.species species \ -Join was.weightCategory weightCategory \ Join t.routeLogbook r \ Join r.activity a \ Join t.vessel vessel \ Left Join a.vesselActivity vesselActivity \ -Left Join a.schoolType schoolType \ Where t.id In :tripId and wa.activity = a \ 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= 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 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 columns.es= -repeatVariable.1.name=activity -repeatVariable.1.type=fr.ird.observe.entities.data.ps.logbook.Activity -repeatVariable.1.request=Select a \ -From TripImpl t \ -Join t.routeLogbook r \ -Join r.activity a \ -Join t.vessel vessel \ -Left Join a.vesselActivity vesselActivity \ -Where t.id In :tripId and vesselActivity.id = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' \ -Order By vessel.code,t.startDate,r.date,a.number,a.time request.1.location=0,0 request.1.layout=row request.1.request=Select vessel.code,\ @@ -47,74 +37,33 @@ t.startDate, \ t.endDate, \ r.date, \ a.number, \ -Cast(a.time As java.sql.Time) \ -From TripImpl t \ -Join t.routeLogbook r \ -Join r.activity a \ -Join t.vessel vessel \ -Where t.id In :tripId and a = :activity -request.1.repeat.name=activity -request.1.repeat.layout=column -request.2.location=7,0 -request.2.layout=row -request.2.request=Select \ -Sum(CASE ct.species.id When 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569' Then ct.weight Else 0.0 End), \ -Sum(CASE ct.species.id When 'fr.ird.referential.common.Species#1239832685474#0.975344121171992' Then ct.weight Else 0.0 End), \ -Sum(CASE ct.species.id When 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152' Then ct.weight Else 0.0 End), \ -Sum(CASE ct.species.id When 'fr.ird.referential.common.Species#1239832685476#0.5618871286604711' Then ct.weight Else 0.0 End), \ -Sum(CASE ct.species.id When 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569' Then 0.0 \ +Cast(a.time As java.sql.Time), \ +(Select Sum(CASE ct.species.id When 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569' Then ct.weight Else 0.0 End) From a.catches ct), \ +(Select Sum(CASE ct.species.id When 'fr.ird.referential.common.Species#1239832685474#0.975344121171992' Then ct.weight Else 0.0 End) From a.catches ct), \ +(Select Sum(CASE ct.species.id When 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152' Then ct.weight Else 0.0 End) From a.catches ct), \ +(Select Sum(CASE ct.species.id When 'fr.ird.referential.common.Species#1239832685476#0.5618871286604711' Then ct.weight Else 0.0 End) From a.catches ct), \ +(Select Sum(CASE ct.species.id When 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569' Then 0.0 \ When 'fr.ird.referential.common.Species#1239832685474#0.975344121171992' Then 0.0 \ When 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152' Then 0.0 \ When 'fr.ird.referential.common.Species#1239832685476#0.5618871286604711' Then 0.0 \ -Else ct.weight End) \ -From TripImpl t \ -Join t.routeLogbook r \ -Join r.activity a \ -Join a.catches ct \ -Where t.id In :tripId and a = :activity -request.2.repeat.name=activity -request.2.repeat.layout=column -request.3.location=12,0 -request.3.layout=row -request.3.request=Select \ -Sum(CASE was.species.id When 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569' Then was.weight Else 0.0 End), \ -Sum(CASE was.species.id When 'fr.ird.referential.common.Species#1239832685474#0.975344121171992' Then was.weight Else 0.0 End), \ -Sum(CASE was.species.id When 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152' Then was.weight Else 0.0 End), \ -Sum(CASE was.species.id When 'fr.ird.referential.common.Species#1239832685476#0.5618871286604711' Then was.weight Else 0.0 End), \ -Sum(CASE was.species.id When 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569' Then 0.0 \ +Else ct.weight End) From a.catches ct), \ +(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), \ +(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), \ +(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), \ +(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), \ +(Select Sum(CASE was.species.id When 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569' Then 0.0 \ When 'fr.ird.referential.common.Species#1239832685474#0.975344121171992' Then 0.0 \ When 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152' Then 0.0 \ When 'fr.ird.referential.common.Species#1239832685476#0.5618871286604711' Then 0.0 \ -Else was.weight End) \ -From TripImpl t \ -Join t.well w \ -Join w.wellActivity wa \ -Join wa.wellActivitySpecies was \ -Where t.id In :tripId and wa.activity = :activity -request.3.repeat.name=activity -request.3.repeat.layout=column -request.4.location=17,0 -request.4.layout=row -request.4.request=Select \ -Sum(ct.weight) \ +Else was.weight End) From WellActivityImpl wa Join wa.wellActivitySpecies was Where wa.activity = a), \ +(Select Sum(ct.weight) From a.catches ct), \ +(Select Sum(was.weight) From WellActivityImpl wa Join wa.wellActivitySpecies was Where wa.activity = a) \ From TripImpl t \ Join t.routeLogbook r \ -Join r.activity a \ -Join a.catches ct \ -Where t.id In :tripId and a = :activity -request.4.repeat.name=activity -request.4.repeat.layout=column -request.5.location=18,0 -request.5.layout=row -request.5.request=Select \ -Sum(was.weight) \ -From TripImpl t \ -Join t.well w \ -Join w.wellActivity wa \ -Join wa.wellActivitySpecies was \ -Where t.id In :tripId and wa.activity = :activity -request.5.repeat.name=activity -request.5.repeat.layout=column +Join r.activity a With a.vesselActivity.id = 'fr.ird.referential.ps.common.VesselActivity#1239832675369#0.12552908048322586' \ +Join t.vessel vessel \ +Where t.id In :tripId \ +Order By vessel.code,t.startDate,r.date,a.number,a.time operations.1.type=SubtractColum operations.1.parameters=17|18|19 operations.2.type=SumColumn ===================================== core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationFobUsageExtended.report ===================================== @@ -33,17 +33,20 @@ repeatVariable.1.name=typeObjetId repeatVariable.1.type=java.lang.String repeatVariable.1.request=Select distinct (om.standardCode) \ From ObjectMaterialImpl om \ -Where standardCode is not null \ -And standardCode != '' \ -And (Select Count(dcp) \ +Where om.standardCode is not null \ +And om.standardCode != '' \ +And (om.standardCode In (Select Distinct(dcp.computedWhenArrivingSimplifiedObjectType) \ From fr.ird.observe.entities.data.ps.common.TripImpl m \ Join m.routeObs r \ Join r.activity a \ -Join a.floatingObject dcp \ -Where \ -m.id In :tripId \ -and (dcp.computedWhenArrivingSimplifiedObjectType = om.standardCode Or dcp.computedWhenLeavingSimplifiedObjectType = om.standardCode) \ -) > 0 +Join a.floatingObject dcp With dcp.computedWhenArrivingSimplifiedObjectType Is Not Null \ +Where m.id In :tripId ) Or om.standardCode In (Select Distinct(dcp.computedWhenLeavingSimplifiedObjectType) \ +From fr.ird.observe.entities.data.ps.common.TripImpl m \ +Join m.routeObs r \ +Join r.activity a \ +Join a.floatingObject dcp With dcp.computedWhenLeavingSimplifiedObjectType Is Not Null \ +Where m.id In :tripId )) \ +Order by om.standardCode request.1.location=0,0 request.1.layout=row request.1.request=Select concat(str(om.standardCode) , ' - ', om.@i18nColumnName@) \ @@ -55,258 +58,30 @@ request.1.repeat.name=typeObjetId request.1.repeat.layout=column request.2.location=1,0 request.2.layout=row -request.2.request=Select Count(dcp) \ -From fr.ird.observe.entities.data.ps.common.TripImpl m \ -Join m.routeObs r \ -Join r.activity a \ -Join a.floatingObject dcp \ -Where \ -m.id In :tripId \ -and 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' +request.2.request=Select \ +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), \ +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), \ +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), \ +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), \ +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), \ +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), \ +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), \ +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), \ +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), \ +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), \ +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), \ +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), \ +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), \ +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), \ +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), \ +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), \ +Sum(Case When dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId And dcp.objectObservedSpecies Is Not Empty Then (Select Sum(efo.count) From dcp.objectObservedSpecies efo Where efo.species.speciesGroup.id = 'fr.ird.referential.common.SpeciesGroup#1239832683690#0.24333033683679461') Else 0 End) \ +From fr.ird.observe.entities.data.ps.common.TripImpl m \ +Join m.routeObs r \ +Join r.activity a \ +Join a.floatingObject dcp With dcp.computedWhenLeavingSimplifiedObjectType = :typeObjetId Or dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId \ +Where \ +m.id In :tripId request.2.repeat.name=typeObjetId request.2.repeat.layout=column -request.2.comment=visite + peche -request.3.location=2,0 -request.3.layout=row -request.3.request=Select Count(dcp) \ -From fr.ird.observe.entities.data.ps.common.TripImpl m \ -Join m.routeObs r \ -Join r.activity a \ -Join a.floatingObject dcp \ -Where \ -m.id In :tripId \ -and 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' -request.3.repeat.name=typeObjetId -request.3.repeat.layout=column -request.3.comment=visite - peche -request.4.location=3,0 -request.4.layout=row -request.4.request=Select Count(dcp) \ -From fr.ird.observe.entities.data.ps.common.TripImpl m \ -Join m.routeObs r \ -Join r.activity a \ -Join a.floatingObject dcp \ -Where \ -m.id In :tripId \ -and 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' -request.4.repeat.name=typeObjetId -request.4.repeat.layout=column -request.4.comment=Deploiement + peche -request.5.location=4,0 -request.5.layout=row -request.5.request=Select Count(dcp) \ -From fr.ird.observe.entities.data.ps.common.TripImpl m \ -Join m.routeObs r \ -Join r.activity a \ -Join a.floatingObject dcp \ -Where \ -m.id In :tripId \ -and 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' -request.5.repeat.name=typeObjetId -request.5.repeat.layout=column -request.5.comment=Deploiement - peche -request.6.location=5,0 -request.6.layout=row -request.6.request=Select Count(dcp) \ -From fr.ird.observe.entities.data.ps.common.TripImpl m \ -Join m.routeObs r \ -Join r.activity a \ -Join a.floatingObject dcp \ -Where \ -m.id In :tripId \ -and 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' -request.6.repeat.name=typeObjetId -request.6.repeat.layout=column -request.6.comment=Modifie + peche -request.7.location=6,0 -request.7.layout=row -request.7.request=Select Count(dcp) \ -From fr.ird.observe.entities.data.ps.common.TripImpl m \ -Join m.routeObs r \ -Join r.activity a \ -Join a.floatingObject dcp \ -Where \ -m.id In :tripId \ -and 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' -request.7.repeat.name=typeObjetId -request.7.repeat.layout=column -request.7.comment=Modifie - peche -request.8.location=7,0 -request.8.layout=row -request.8.request=Select Count(dcp) \ -From fr.ird.observe.entities.data.ps.common.TripImpl m \ -Join m.routeObs r \ -Join r.activity a \ -Join a.floatingObject dcp \ -Where \ -m.id In :tripId \ -and 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' -request.8.repeat.name=typeObjetId -request.8.repeat.layout=column -request.8.comment=Retire + peche -request.9.location=8,0 -request.9.layout=row -request.9.request=Select Count(dcp) \ -From fr.ird.observe.entities.data.ps.common.TripImpl m \ -Join m.routeObs r \ -Join r.activity a \ -Join a.floatingObject dcp \ -Where \ -m.id In :tripId \ -and 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' -request.9.repeat.name=typeObjetId -request.9.repeat.layout=column -request.9.comment=Retire - peche -request.10.location=9,0 -request.10.layout=row -request.10.request=Select Count(dcp) \ -From fr.ird.observe.entities.data.ps.common.TripImpl m \ -Join m.routeObs r \ -Join r.activity a \ -Join a.floatingObject dcp \ -Where \ -m.id In :tripId \ -and 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' -request.10.repeat.name=typeObjetId -request.10.repeat.layout=column -request.10.comment=Abandonne + peche -request.11.location=10,0 -request.11.layout=row -request.11.request=Select Count(dcp) \ -From fr.ird.observe.entities.data.ps.common.TripImpl m \ -Join m.routeObs r \ -Join r.activity a \ -Join a.floatingObject dcp \ -Where \ -m.id In :tripId \ -and 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' -request.11.repeat.name=typeObjetId -request.11.repeat.layout=column -request.11.comment=Abandonne - peche -request.12.location=11,0 -request.12.layout=row -request.12.request=Select Count(dcp) \ -From fr.ird.observe.entities.data.ps.common.TripImpl m \ -Join m.routeObs r \ -Join r.activity a \ -Join a.floatingObject dcp \ -Where \ -m.id In :tripId \ -and 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' -request.12.repeat.name=typeObjetId -request.12.repeat.layout=column -request.12.comment=Coule + peche -request.13.location=12,0 -request.13.layout=row -request.13.request=Select Count(dcp) \ -From fr.ird.observe.entities.data.ps.common.TripImpl m \ -Join m.routeObs r \ -Join r.activity a \ -Join a.floatingObject dcp \ -Where \ -m.id In :tripId \ -and 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' -request.13.repeat.name=typeObjetId -request.13.repeat.layout=column -request.13.comment=Coule - peche -request.14.location=13,0 -request.14.layout=row -request.14.request=Select Count(dcp) \ -From fr.ird.observe.entities.data.ps.common.TripImpl m \ -Join m.routeObs r \ -Join r.activity a \ -Join a.floatingObject dcp \ -Where \ -m.id In :tripId \ -and 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' -request.14.repeat.name=typeObjetId -request.14.repeat.layout=column -request.14.comment=Remplace + peche -request.15.location=14,0 -request.15.layout=row -request.15.request=Select Count(dcp) \ -From fr.ird.observe.entities.data.ps.common.TripImpl m \ -Join m.routeObs r \ -Join r.activity a \ -Join a.floatingObject dcp \ -Where \ -m.id In :tripId \ -and 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' -request.15.repeat.name=typeObjetId -request.15.repeat.layout=column -request.15.comment=Remplace - peche -request.16.location=15,0 -request.16.layout=row -request.16.request=Select Count(dcp) \ -From fr.ird.observe.entities.data.ps.common.TripImpl m \ -Join m.routeObs r \ -Join r.activity a \ -Join a.floatingObject dcp \ -Where \ -m.id In :tripId \ -and 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' -request.16.repeat.name=typeObjetId -request.16.repeat.layout=column -request.16.comment=Autre ou ancien peche + peche -request.17.location=16,0 -request.17.layout=row -request.17.request=Select Count(dcp) \ -From fr.ird.observe.entities.data.ps.common.TripImpl m \ -Join m.routeObs r \ -Join r.activity a \ -Join a.floatingObject dcp \ -Where \ -m.id In :tripId \ -and 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' -request.17.repeat.name=typeObjetId -request.17.repeat.layout=column -request.17.comment=Autre ou ancien peche - peche -request.18.location=17,0 -request.18.layout=row -request.18.request=Select Sum(efo.count) \ -From fr.ird.observe.entities.data.ps.common.TripImpl m \ -Join m.routeObs r \ -Join r.activity a \ -Join a.floatingObject dcp \ -Join dcp.objectObservedSpecies efo \ -Where \ -m.id In :tripId \ -and dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId \ -and efo.species.speciesGroup.id = 'fr.ird.referential.common.SpeciesGroup#1239832683690#0.24333033683679461' -request.18.repeat.name=typeObjetId -request.18.repeat.layout=column -request.18.comment=Nombre de tortues +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 repeatVariable.1.type=java.lang.String repeatVariable.1.request=Select distinct (om.standardCode) \ From ObjectMaterialImpl om \ -Where standardCode is not null \ -And standardCode != '' \ -And (Select Count(dcp) \ +Where om.standardCode is not null \ +And om.standardCode != '' \ +And (om.standardCode In (Select Distinct(dcp.computedWhenArrivingSimplifiedObjectType) \ From fr.ird.observe.entities.data.ps.common.TripImpl m \ Join m.routeObs r \ Join r.activity a \ -Join a.floatingObject dcp \ -Where \ -m.id In :tripId \ -and (dcp.computedWhenArrivingSimplifiedObjectType = om.standardCode Or dcp.computedWhenLeavingSimplifiedObjectType = om.standardCode) \ -) > 0 +Join a.floatingObject dcp With dcp.computedWhenArrivingSimplifiedObjectType Is Not Null \ +Where m.id In :tripId ) Or om.standardCode In (Select Distinct(dcp.computedWhenLeavingSimplifiedObjectType) \ +From fr.ird.observe.entities.data.ps.common.TripImpl m \ +Join m.routeObs r \ +Join r.activity a \ +Join a.floatingObject dcp With dcp.computedWhenLeavingSimplifiedObjectType Is Not Null \ +Where m.id In :tripId )) \ +Order by om.standardCode repeatVariable.1.comment=liste des types CECOFAD en presence sur les donnees selectionnees request.1.location=0,0 request.1.layout=row @@ -56,74 +59,31 @@ request.1.repeat.name=typeObjetId request.1.repeat.layout=column request.2.location=1,0 request.2.layout=row -request.2.request=Select Count(dcp) \ -From fr.ird.observe.entities.data.ps.common.TripImpl m \ -Join m.routeObs r \ -Join r.activity a \ -Join a.floatingObject dcp \ -Where \ -m.id In :tripId \ -and 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' \ +request.2.request=Select \ +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' \ or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#8' \ or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#4' \ or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#5' \ or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#7' \ or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#9' \ or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#10' \ -or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#3') -request.2.repeat.name=typeObjetId -request.2.repeat.layout=column -request.2.comment=rencontres + peches -request.3.location=2,0 -request.3.layout=row -request.3.request=Select Count(dcp) \ -From fr.ird.observe.entities.data.ps.common.TripImpl m \ -Join m.routeObs r \ -Join r.activity a \ -Join a.floatingObject dcp \ -Where \ -m.id In :tripId \ -and 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' \ +or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#3') Then 1 Else 0 End), \ +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' \ or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#8' \ or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#4' \ or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#5' \ or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#7' \ or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#9' \ or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#10' \ -or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#3') -request.3.repeat.name=typeObjetId -request.3.repeat.layout=column -request.3.comment=rencontres - peches -request.4.location=3,0 -request.4.layout=row -request.4.request=Select Count(dcp) \ -From fr.ird.observe.entities.data.ps.common.TripImpl m \ -Join m.routeObs r \ -Join r.activity a \ -Join a.floatingObject dcp \ -Where \ -m.id In :tripId \ -and dcp.computedWhenLeavingSimplifiedObjectType = :typeObjetId \ -and dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#1' -request.4.repeat.name=typeObjetId -request.4.repeat.layout=column -request.4.comment=deployes -request.5.location=4,0 -request.5.layout=row -request.5.request=Select Sum(efo.count) \ +or dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#3') Then 1 Else 0 End), \ +Sum(Case When dcp.computedWhenLeavingSimplifiedObjectType = :typeObjetId And dcp.objectOperation.id = 'fr.ird.referential.ps.common.ObjectOperation#0#1' Then 1 Else 0 End), \ +Sum(Case When dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId And dcp.objectObservedSpecies Is Not Empty Then (Select Sum(efo.count) From dcp.objectObservedSpecies efo Where efo.species.speciesGroup.id = 'fr.ird.referential.common.SpeciesGroup#1239832683690#0.24333033683679461') Else 0 End) \ From fr.ird.observe.entities.data.ps.common.TripImpl m \ Join m.routeObs r \ Join r.activity a \ -Join a.floatingObject dcp \ -Join dcp.objectObservedSpecies efo \ +Join a.floatingObject dcp With dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId Or dcp.computedWhenLeavingSimplifiedObjectType = :typeObjetId \ Where \ -m.id In :tripId \ -and dcp.computedWhenArrivingSimplifiedObjectType = :typeObjetId \ -and efo.species.speciesGroup.id = 'fr.ird.referential.common.SpeciesGroup#1239832683690#0.24333033683679461' -request.5.repeat.name=typeObjetId -request.5.repeat.layout=column -request.5.comment=Nombre de tortues +m.id In :tripId +request.2.repeat.name=typeObjetId +request.2.repeat.layout=column +request.2.comment=rencontres + peches / rencontres - peches / deployes / Nombre de tortues ===================================== core/services/test/src/main/java/fr/ird/observe/services/service/report/ps/PsObservationFobUsageExtendedReportFixture.java ===================================== @@ -45,6 +45,5 @@ public class PsObservationFobUsageExtendedReportFixture extends ReportFixture { Iterator<ReportRequestDefinition> requests = getRequestIterator(report); assertReportRequestDimension(requests, RequestLayout.row, 0, 0); assertReportRequestDimension(requests, RequestLayout.row, 1, 0); - assertReportRequestDimension(requests, RequestLayout.row, 2, 0); } } ===================================== core/services/test/src/main/java/fr/ird/observe/services/service/report/ps/PsObservationFobUsageMinimalReportFixture.java ===================================== @@ -45,6 +45,5 @@ public class PsObservationFobUsageMinimalReportFixture extends ReportFixture { Iterator<ReportRequestDefinition> requests = getRequestIterator(report); assertReportRequestDimension(requests, RequestLayout.row, 0, 0); assertReportRequestDimension(requests, RequestLayout.row, 1, 0); - assertReportRequestDimension(requests, RequestLayout.row, 2, 0); } } ===================================== core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-psLogbookWellPlanCheck.properties ===================================== @@ -25,7 +25,7 @@ syntax.rows=-1 syntax.columns=20 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 syntax.rowsHeader= -syntax.nbRequests=5 +syntax.nbRequests=1 result.columns=20 result.rows=4 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-psObservationFobUsageExtended.properties ===================================== @@ -19,14 +19,14 @@ # <http://www.gnu.org/licenses/gpl-3.0.html>. # #L% ### -result.0=FOB - FOB^0^1^0^0^0^0^0^0^0^0^0^0^0^0^0^0^null -result.1=DFAD - DFAD (FAD dérivant)^1^15^1^27^0^0^0^0^0^0^0^0^0^0^0^0^null +result.0=DFAD - DFAD (FAD dérivant)^1^15^1^27^0^0^0^0^0^0^0^0^0^0^0^0^0 +result.1=FOB - FOB^0^1^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0 result.columns=18 result.rows=2 syntax.columns=18 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 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 syntax.name=Observations - Utilisation des FOB, tableau détaillé -syntax.nbRequests=18 +syntax.nbRequests=2 syntax.rows=-1 syntax.rowsHeader= ===================================== core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-psObservationFobUsageMinimal.properties ===================================== @@ -19,14 +19,14 @@ # <http://www.gnu.org/licenses/gpl-3.0.html>. # #L% ### -result.0=FOB - FOB^0^1^0^null -result.1=DFAD - DFAD (FAD dérivant)^1^15^28^null +result.0=DFAD - DFAD (FAD dérivant)^1^15^28^0 +result.1=FOB - FOB^0^1^0^0 result.columns=5 result.rows=2 syntax.columns=5 syntax.columnsHeader=Type de FOB^Rencontrés pêchés^Rencontrés non pêchés^Déployés^Tortues associées 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 syntax.name=Observations - Utilisation des FOB, tableau simplifiée -syntax.nbRequests=5 +syntax.nbRequests=2 syntax.rows=-1 syntax.rowsHeader= View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/c1eb65e2a2206c88041278a2b... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/c1eb65e2a2206c88041278a2b... You're receiving this email because of your account on gitlab.com.
participants (1)
-
Tony CHEMIT (@tchemit)