From 707fccfa5b8d3afaff10f70a65e6d99ed0df6561 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Thu, 2 Feb 2023 13:42:29 -0800 Subject: Add combined report --- .../java/org/traccar/api/resource/ReportResource.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/main/java/org/traccar/api/resource') diff --git a/src/main/java/org/traccar/api/resource/ReportResource.java b/src/main/java/org/traccar/api/resource/ReportResource.java index b85e9a857..e392f3f90 100644 --- a/src/main/java/org/traccar/api/resource/ReportResource.java +++ b/src/main/java/org/traccar/api/resource/ReportResource.java @@ -22,6 +22,7 @@ import org.traccar.model.Event; import org.traccar.model.Position; import org.traccar.model.Report; import org.traccar.model.UserRestrictions; +import org.traccar.reports.CombinedReportProvider; import org.traccar.reports.EventsReportProvider; import org.traccar.reports.RouteReportProvider; import org.traccar.reports.StopsReportProvider; @@ -29,6 +30,7 @@ import org.traccar.reports.SummaryReportProvider; import org.traccar.reports.TripsReportProvider; import org.traccar.reports.common.ReportExecutor; import org.traccar.reports.common.ReportMailer; +import org.traccar.reports.model.CombinedReportItem; import org.traccar.reports.model.StopReportItem; import org.traccar.reports.model.SummaryReportItem; import org.traccar.reports.model.TripReportItem; @@ -57,6 +59,9 @@ public class ReportResource extends SimpleObjectResource { private static final String EXCEL = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; + @Inject + private CombinedReportProvider combinedReportProvider; + @Inject private EventsReportProvider eventsReportProvider; @@ -96,6 +101,18 @@ public class ReportResource extends SimpleObjectResource { } } + @Path("combined") + @GET + public Collection getCombined( + @QueryParam("deviceId") List deviceIds, + @QueryParam("groupId") List groupIds, + @QueryParam("from") Date from, + @QueryParam("to") Date to) throws StorageException { + permissionsService.checkRestriction(getUserId(), UserRestrictions::getDisableReports); + LogAction.logReport(getUserId(), "combined", from, to, deviceIds, groupIds); + return combinedReportProvider.getObjects(getUserId(), deviceIds, groupIds, from, to); + } + @Path("route") @GET public Collection getRoute( -- cgit v1.2.3