aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/reports
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/traccar/reports')
-rw-r--r--src/org/traccar/reports/Summary.java8
-rw-r--r--src/org/traccar/reports/model/SummaryReport.java11
2 files changed, 19 insertions, 0 deletions
diff --git a/src/org/traccar/reports/Summary.java b/src/org/traccar/reports/Summary.java
index e0da1c87e..2c777b9bb 100644
--- a/src/org/traccar/reports/Summary.java
+++ b/src/org/traccar/reports/Summary.java
@@ -33,6 +33,14 @@ public final class Summary {
if (previousPosition != null) {
result.addDistance(DistanceCalculator.distance(previousPosition.getLatitude(),
previousPosition.getLongitude(), position.getLatitude(), position.getLongitude()));
+ if (position.getAttributes().get(Position.KEY_IGNITION) != null
+ && Boolean.parseBoolean(position.getAttributes().get(Position.KEY_IGNITION).toString())
+ && previousPosition.getAttributes().get(Position.KEY_IGNITION) != null
+ && Boolean.parseBoolean(previousPosition.getAttributes()
+ .get(Position.KEY_IGNITION).toString())) {
+ result.addMotorHours(position.getFixTime().getTime()
+ - previousPosition.getFixTime().getTime());
+ }
}
previousPosition = position;
speedSum += position.getSpeed();
diff --git a/src/org/traccar/reports/model/SummaryReport.java b/src/org/traccar/reports/model/SummaryReport.java
index e42727eaf..01006558f 100644
--- a/src/org/traccar/reports/model/SummaryReport.java
+++ b/src/org/traccar/reports/model/SummaryReport.java
@@ -47,4 +47,15 @@ public class SummaryReport {
this.maxSpeed = maxSpeed;
}
}
+
+ private long motorHours;
+ public long getMotorHours() {
+ return motorHours;
+ }
+ public void setMotorHours(long motorHours) {
+ this.motorHours = motorHours;
+ }
+ public void addMotorHours(long motorHours) {
+ this.motorHours += motorHours;
+ }
}