This is an automated email from the git hooks/post-receive script. New commit to branch feature/8429 in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 97a6ebee6a29baeb763c68f719ab47d883540627 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Nov 8 11:07:47 2016 +0100 Ajout nouvelles requetes pour lister les équipements --- .../service/actions/report/ReportServiceTopia.java | 68 +++++++++++++++++++--- .../src/main/filters/observe-reports.properties | 54 +++++++++++++++++ 2 files changed, 113 insertions(+), 9 deletions(-) diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/actions/report/ReportServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/actions/report/ReportServiceTopia.java index 7b0ecf1..f87f1f5 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/actions/report/ReportServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/actions/report/ReportServiceTopia.java @@ -26,12 +26,11 @@ import com.google.common.collect.Maps; import fr.ird.observe.AbstractObserveTopiaDao; import fr.ird.observe.entities.ObserveDataEntity; import fr.ird.observe.entities.ObserveEntity; +import fr.ird.observe.entities.longline.GearUseFeaturesLongline; +import fr.ird.observe.entities.longline.GearUseFeaturesLonglineImpl; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; +import fr.ird.observe.entities.seine.GearUseFeaturesSeine; import fr.ird.observe.entities.seine.TripSeine; -import fr.ird.observe.services.service.actions.report.ReportService; -import fr.ird.observe.services.topia.ObserveServiceTopia; -import fr.ird.observe.services.topia.binder.data.DataBinderSupport; -import fr.ird.observe.services.topia.binder.referential.ReferentialBinderSupport; import fr.ird.observe.services.dto.AbstractReference; import fr.ird.observe.services.dto.DataDto; import fr.ird.observe.services.dto.DataReference; @@ -42,6 +41,10 @@ import fr.ird.observe.services.dto.actions.report.ReportRequest; import fr.ird.observe.services.dto.actions.report.ReportVariable; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.service.actions.report.ReportService; +import fr.ird.observe.services.topia.ObserveServiceTopia; +import fr.ird.observe.services.topia.binder.data.DataBinderSupport; +import fr.ird.observe.services.topia.binder.referential.ReferentialBinderSupport; import org.apache.commons.lang3.mutable.MutableInt; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -51,6 +54,7 @@ import java.awt.Dimension; import java.awt.Point; import java.io.Serializable; import java.util.HashSet; +import java.util.Iterator; import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.List; @@ -142,8 +146,7 @@ public class ReportServiceTopia extends ObserveServiceTopia implements ReportSer doPopulateRepeatVariables(report, tripId); if (log.isDebugEnabled()) { - log.debug("Build result for report [" + report.getName() + - "] on " + tripId); + log.debug("Build result for report [" + report.getName() + "] on " + tripId); } int rows = report.getRows(); @@ -162,14 +165,14 @@ public class ReportServiceTopia extends ObserveServiceTopia implements ReportSer new DataMatrix()); // lancement des opérations supplémentaires - for (ReportOperation objectOperation : report.getOperations()) { + for (ReportOperation operation : report.getOperations()) { DataMatrix tmp = result; if (log.isDebugEnabled()) { - log.debug("Apply objectOperation " + objectOperation + " to " + tmp); + log.debug("Apply operation " + operation + " to " + tmp); } result = executeReportOperation( - objectOperation, + operation, report, tripId, tmp); @@ -298,6 +301,53 @@ public class ReportServiceTopia extends ObserveServiceTopia implements ReportSer } break; + case ComputeMeasurementsSeine: { + DataMatrix tmpMatrix = createTmpMatrix(incoming.getWidth(), 0, 1, incoming.getHeight()); + + ReportVariable<String> variable = report.getRepeatVariable("gearUseFeaturesId"); + Iterator<String> gearUseFeaturesIds = variable.getValues().iterator(); + + for (int row = 0, nbRows = incoming.getHeight(); row < nbRows; row++) { + + String gearUseFeaturesId = gearUseFeaturesIds.next(); + + GearUseFeaturesSeine gearUseFeaturesSeine = getTopiaPersistenceContext().getGearUseFeaturesSeineDao().forTopiaIdEquals(gearUseFeaturesId).findUnique(); + + String measurementsAsString = gearUseFeaturesSeine.getMeasurementsAsString(); + + tmpMatrix.setValue(0, row, measurementsAsString); + if (log.isDebugEnabled()) { + log.debug("operation [0, " + row + "] = " + measurementsAsString); + } + } + + result = DataMatrix.merge(incoming, tmpMatrix); + + } + break; + case ComputeMeasurementsLongline: { + DataMatrix tmpMatrix = createTmpMatrix(incoming.getWidth(), 0, 1, incoming.getHeight()); + + ReportVariable<String> variable = report.getRepeatVariable("gearUseFeaturesId"); + Iterator<String> gearUseFeaturesIds = variable.getValues().iterator(); + + for (int row = 0, nbRows = incoming.getHeight(); row < nbRows; row++) { + + String gearUseFeaturesId = gearUseFeaturesIds.next(); + + GearUseFeaturesLongline gearUseFeatures = getTopiaPersistenceContext().getGearUseFeaturesLonglineDao().forTopiaIdEquals(gearUseFeaturesId).findUnique(); + + String measurementsAsString = gearUseFeatures.getMeasurementsAsString(); + + tmpMatrix.setValue(0, row, measurementsAsString); + if (log.isDebugEnabled()) { + log.debug("operation [0, " + row + "] = " + measurementsAsString); + } + } + + result = DataMatrix.merge(incoming, tmpMatrix); + } + break; } return result; diff --git a/services/src/main/filters/observe-reports.properties b/services/src/main/filters/observe-reports.properties index 145528e..b513e8a 100644 --- a/services/src/main/filters/observe-reports.properties +++ b/services/src/main/filters/observe-reports.properties @@ -21,6 +21,60 @@ ### ################################################################################ +## Liste des \u00e9quipements (Seine) +################################################################################ +report.tripSeineGearUseFeatures.modelType=PS +report.tripSeineGearUseFeatures.name=Liste des \u00e9quipements +report.tripSeineGearUseFeatures.description=Afficher les \u00e9quipements +report.tripSeineGearUseFeatures.columns=Equipement, Nombre, Utilis\u00e9 dans la mar\u00e9e, Mesures +report.tripSeineGearUseFeatures.operations.1=ComputeMeasurementsSeine +report.tripSeineGearUseFeatures.repeatVariable.gearUseFeaturesId=java.lang.String|\ + Select g.id \ + From TripSeineImpl m \ + Join m.gearUseFeaturesSeine g \ + Where \ + m.id = :tripId \ + and g in elements (m.gearUseFeaturesSeine) \ + Order By g.gear.label2 + +report.tripSeineGearUseFeatures.request.1=0,0|row|\ + Select \ + concat(CASE When g.gear.code IS NULL Then 'Aucun code' Else g.gear.code End, ' - ', g.gear.label2), \ + g.number, \ + ( CASE g.usedInTrip When true Then 'Oui' Else Case g.usedInTrip When false Then 'Non' Else 'Ind\u00e9termin\u00e9' End End )\ + From GearUseFeaturesSeineImpl g \ + Where g.id = :gearUseFeaturesId + +report.tripSeineGearUseFeatures.request.1.repeat=gearUseFeaturesId|column + +################################################################################ +## Liste des \u00e9quipements (Longline) +################################################################################ +report.tripLonglineGearUseFeatures.modelType=LL +report.tripLonglineGearUseFeatures.name=Liste des \u00e9quipements +report.tripLonglineGearUseFeatures.description=Afficher les \u00e9quipements +report.tripLonglineGearUseFeatures.columns=Equipement, Nombre, Utilis\u00e9 dans la mar\u00e9e, Mesures +report.tripLonglineGearUseFeatures.operations.1=ComputeMeasurementsLongline +report.tripLonglineGearUseFeatures.repeatVariable.gearUseFeaturesId=java.lang.String|\ + Select g.id \ + From TripLonglineImpl m \ + Join m.gearUseFeaturesLongline g \ + Where \ + m.id = :tripId \ + and g in elements (m.gearUseFeaturesLongline) \ + Order By g.gear.label2 + +report.tripLonglineGearUseFeatures.request.1=0,0|row|\ + Select \ + concat(CASE When g.gear.code IS NULL Then 'Aucun code' Else g.gear.code End, ' - ', g.gear.label2), \ + g.number, \ + ( CASE g.usedInTrip When true Then 'Oui' Else Case g.usedInTrip When false Then 'Non' Else 'Ind\u00e9termin\u00e9' End End )\ + From GearUseFeaturesLonglineImpl g \ + Where g.id = :gearUseFeaturesId + +report.tripLonglineGearUseFeatures.request.1.repeat=gearUseFeaturesId|column + +################################################################################ ## Liste des activit\u00e9s avec des comments ################################################################################ report.activityWithComment.modelType=PS -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.