From 82c2d713d4da71f8eeef3e134b06dbb0abf37633 Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Sat, 13 Aug 2016 20:36:46 +0500 Subject: - Split distance to distance and total distance - Switch summary report to total distance - Move DistanceHandler after filters in pipeline - Other accompanying changes --- src/org/traccar/reports/Summary.java | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) (limited to 'src/org/traccar/reports') diff --git a/src/org/traccar/reports/Summary.java b/src/org/traccar/reports/Summary.java index dac8afe67..e2c11e7b1 100644 --- a/src/org/traccar/reports/Summary.java +++ b/src/org/traccar/reports/Summary.java @@ -47,15 +47,14 @@ public final class Summary { if (firstPosition == null) { firstPosition = position; } - if (previousPosition != null) { - 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.addEngineHours(position.getFixTime().getTime() - - previousPosition.getFixTime().getTime()); - } + if (previousPosition != null + && 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.addEngineHours(position.getFixTime().getTime() + - previousPosition.getFixTime().getTime()); } previousPosition = position; speedSum += position.getSpeed(); @@ -65,10 +64,10 @@ public final class Summary { && previousPosition.getAttributes().containsKey(Position.KEY_ODOMETER)) { result.setDistance(((Double) previousPosition.getAttributes().get(Position.KEY_ODOMETER) - (Double) firstPosition.getAttributes().get(Position.KEY_ODOMETER)) * 1000); - } else if (firstPosition.getAttributes().containsKey(Position.KEY_DISTANCE) - && previousPosition.getAttributes().containsKey(Position.KEY_DISTANCE)) { - result.setDistance((Double) previousPosition.getAttributes().get(Position.KEY_DISTANCE) - - (Double) firstPosition.getAttributes().get(Position.KEY_DISTANCE)); + } else if (firstPosition.getAttributes().containsKey(Position.KEY_TOTAL_DISTANCE) + && previousPosition.getAttributes().containsKey(Position.KEY_TOTAL_DISTANCE)) { + result.setDistance((Double) previousPosition.getAttributes().get(Position.KEY_TOTAL_DISTANCE) + - (Double) firstPosition.getAttributes().get(Position.KEY_TOTAL_DISTANCE)); } result.setAverageSpeed(speedSum / positions.size()); -- cgit v1.2.3