diff options
author | Anton Tananaev <anton@traccar.org> | 2023-02-02 13:42:29 -0800 |
---|---|---|
committer | Anton Tananaev <anton@traccar.org> | 2023-02-02 13:42:29 -0800 |
commit | 707fccfa5b8d3afaff10f70a65e6d99ed0df6561 (patch) | |
tree | fdbe3d9c4768f56b2b91d17a7661df3544a18bad /src/main/java/org/traccar/api/resource | |
parent | bcf1daf348c9a83892b1b0e214052327529d7064 (diff) | |
download | trackermap-server-707fccfa5b8d3afaff10f70a65e6d99ed0df6561.tar.gz trackermap-server-707fccfa5b8d3afaff10f70a65e6d99ed0df6561.tar.bz2 trackermap-server-707fccfa5b8d3afaff10f70a65e6d99ed0df6561.zip |
Add combined report
Diffstat (limited to 'src/main/java/org/traccar/api/resource')
-rw-r--r-- | src/main/java/org/traccar/api/resource/ReportResource.java | 17 |
1 files changed, 17 insertions, 0 deletions
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; @@ -58,6 +60,9 @@ public class ReportResource extends SimpleObjectResource<Report> { private static final String EXCEL = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; @Inject + private CombinedReportProvider combinedReportProvider; + + @Inject private EventsReportProvider eventsReportProvider; @Inject @@ -96,6 +101,18 @@ public class ReportResource extends SimpleObjectResource<Report> { } } + @Path("combined") + @GET + public Collection<CombinedReportItem> getCombined( + @QueryParam("deviceId") List<Long> deviceIds, + @QueryParam("groupId") List<Long> 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<Position> getRoute( |