aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/reports/model
diff options
context:
space:
mode:
authorAbyss777 <abyss@fox5.ru>2016-08-19 10:45:33 +0500
committerAbyss777 <abyss@fox5.ru>2016-08-19 10:45:33 +0500
commit1c7437d6de01fffbe3f69853717808b1790413fd (patch)
treeae6fa7144b30321e754773af4a2d464c9e52c624 /src/org/traccar/reports/model
parent3826a93f1009942e22ec80c1e13be71e8e917b01 (diff)
downloadtrackermap-server-1c7437d6de01fffbe3f69853717808b1790413fd.tar.gz
trackermap-server-1c7437d6de01fffbe3f69853717808b1790413fd.tar.bz2
trackermap-server-1c7437d6de01fffbe3f69853717808b1790413fd.zip
- Added trips report
- Refactored reports models - Added tests for ReportUtils - Added speed to test-generator.py - Other changes
Diffstat (limited to 'src/org/traccar/reports/model')
-rw-r--r--src/org/traccar/reports/model/BaseReport.java70
-rw-r--r--src/org/traccar/reports/model/SummaryReport.java50
-rw-r--r--src/org/traccar/reports/model/TripReport.java87
3 files changed, 159 insertions, 48 deletions
diff --git a/src/org/traccar/reports/model/BaseReport.java b/src/org/traccar/reports/model/BaseReport.java
new file mode 100644
index 000000000..bcbed29fe
--- /dev/null
+++ b/src/org/traccar/reports/model/BaseReport.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright 2016 Anton Tananaev (anton.tananaev@gmail.com)
+ * Copyright 2016 Andrey Kunitsyn (abyss@fox5.ru)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.traccar.reports.model;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+
+public class BaseReport {
+
+ private long deviceId;
+ public long getDeviceId() {
+ return deviceId;
+ }
+ public void setDeviceId(long deviceId) {
+ this.deviceId = deviceId;
+ }
+
+ private String deviceName;
+ public String getDeviceName() {
+ return deviceName;
+ }
+ public void setDeviceName(String deviceName) {
+ this.deviceName = deviceName;
+ }
+
+ private double distance; // meters
+ public double getDistance() {
+ return distance;
+ }
+ public void setDistance(double distance) {
+ this.distance = distance;
+ }
+
+ public void addDistance(double distance) {
+ this.distance += distance;
+ }
+
+ private double averageSpeed; // knots
+ public double getAverageSpeed() {
+ return averageSpeed;
+ }
+ public void setAverageSpeed(Double averageSpeed) {
+ this.averageSpeed = new BigDecimal(averageSpeed.toString()).setScale(3, RoundingMode.HALF_EVEN).doubleValue();
+ }
+
+ private double maxSpeed; //knots
+ public double getMaxSpeed() {
+ return maxSpeed;
+ }
+ public void setMaxSpeed(double maxSpeed) {
+ if (maxSpeed > this.maxSpeed) {
+ this.maxSpeed = maxSpeed;
+ }
+ }
+
+}
diff --git a/src/org/traccar/reports/model/SummaryReport.java b/src/org/traccar/reports/model/SummaryReport.java
index 271d0c7c2..1e6655904 100644
--- a/src/org/traccar/reports/model/SummaryReport.java
+++ b/src/org/traccar/reports/model/SummaryReport.java
@@ -16,55 +16,9 @@
*/
package org.traccar.reports.model;
-public class SummaryReport {
+public class SummaryReport extends BaseReport {
- private long deviceId;
- public long getDeviceId() {
- return deviceId;
- }
- public void setDeviceId(long deviceId) {
- this.deviceId = deviceId;
- }
-
- private String deviceName;
- public String getDeviceName() {
- return deviceName;
- }
- public void setDeviceName(String deviceName) {
- this.deviceName = deviceName;
- }
-
- private double distance;
- public double getDistance() {
- return distance;
- }
- public void setDistance(double distance) {
- this.distance = distance;
- }
-
- public void addDistance(double distance) {
- this.distance += distance;
- }
-
- private double averageSpeed;
- public double getAverageSpeed() {
- return averageSpeed;
- }
- public void setAverageSpeed(double averageSpeed) {
- this.averageSpeed = averageSpeed;
- }
-
- private double maxSpeed;
- public double getMaxSpeed() {
- return maxSpeed;
- }
- public void setMaxSpeed(double maxSpeed) {
- if (maxSpeed > this.maxSpeed) {
- this.maxSpeed = maxSpeed;
- }
- }
-
- private long engineHours;
+ private long engineHours; // milliseconds
public long getEngineHours() {
return engineHours;
}
diff --git a/src/org/traccar/reports/model/TripReport.java b/src/org/traccar/reports/model/TripReport.java
new file mode 100644
index 000000000..3a77b02ca
--- /dev/null
+++ b/src/org/traccar/reports/model/TripReport.java
@@ -0,0 +1,87 @@
+package org.traccar.reports.model;
+
+import java.util.Date;
+
+public class TripReport extends BaseReport {
+
+ private long startPositionId;
+ public long getStartPositionId() {
+ return startPositionId;
+ }
+ public void setStartPositionId(long startPositionId) {
+ this.startPositionId = startPositionId;
+ }
+
+ private long endPositionId;
+ public long getEndPositionId() {
+ return endPositionId;
+ }
+ public void setEndPositionId(long endPositionId) {
+ this.endPositionId = endPositionId;
+ }
+
+ private Date startTime;
+ public Date getStartTime() {
+ if (startTime != null) {
+ return new Date(startTime.getTime());
+ } else {
+ return null;
+ }
+ }
+ public void setStartTime(Date startTime) {
+ if (startTime != null) {
+ this.startTime = new Date(startTime.getTime());
+ } else {
+ this.startTime = null;
+ }
+ }
+
+ private String startAddress;
+ public String getStartAddress() {
+ return startAddress;
+ }
+ public void setStartAddress(String address) {
+ this.startAddress = address;
+ }
+
+ private Date endTime;
+ public Date getEndTime() {
+ if (endTime != null) {
+ return new Date(endTime.getTime());
+ } else {
+ return null;
+ }
+ }
+ public void setEndTime(Date endTime) {
+ if (endTime != null) {
+ this.endTime = new Date(endTime.getTime());
+ } else {
+ this.endTime = null;
+ }
+ }
+
+ private String endAddress;
+ public String getEndAddress() {
+ return endAddress;
+ }
+ public void setEndAddress(String address) {
+ this.endAddress = address;
+ }
+
+ private long duration;
+ public long getDuration() {
+ return duration;
+ }
+ public void setDuration(long duration) {
+ this.duration = duration;
+ }
+
+ private String spentFuel;
+ public String getSpentFuel() {
+ return spentFuel;
+ }
+ public void setSpentFuel(String spentFuel) {
+ this.spentFuel = spentFuel;
+ }
+
+}