From 21f26c423dd6d52588c57e41fd0c02ae2fda5d6a Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Thu, 11 Aug 2016 12:13:14 +0500 Subject: Added motor hours to web --- web/app/model/ReportSummary.js | 3 +++ 1 file changed, 3 insertions(+) (limited to 'web/app/model') diff --git a/web/app/model/ReportSummary.js b/web/app/model/ReportSummary.js index 7821e1c00..2017d164a 100644 --- a/web/app/model/ReportSummary.js +++ b/web/app/model/ReportSummary.js @@ -33,5 +33,8 @@ Ext.define('Traccar.model.ReportSummary', { }, { name: 'distance', type: 'float' + }, { + name: 'motorHours', + type: 'int' }] }); -- cgit v1.2.3 From 8fa931a45755b14f61bcc699296337efefc46160 Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Fri, 12 Aug 2016 11:19:34 +0500 Subject: - Fixed casting ignition object to boolean - Renamed motorHours to engineHours - Changed engine hours formatter to just hours - Added previously missed license headers to reports - Added Andrey Kunitsyn to some license headers --- src/org/traccar/events/IgnitionEventHandler.java | 10 ++++---- src/org/traccar/reports/Events.java | 15 ++++++++++++ src/org/traccar/reports/ReportUtils.java | 15 ++++++++++++ src/org/traccar/reports/Route.java | 15 ++++++++++++ src/org/traccar/reports/Summary.java | 17 +++++++++++++- src/org/traccar/reports/model/SummaryReport.java | 29 ++++++++++++++++++------ web/app/AttributeFormatter.js | 18 ++++----------- web/app/model/ReportSummary.js | 2 +- web/app/view/ReportController.js | 6 ++--- web/l10n/en.json | 5 +--- 10 files changed, 98 insertions(+), 34 deletions(-) (limited to 'web/app/model') diff --git a/src/org/traccar/events/IgnitionEventHandler.java b/src/org/traccar/events/IgnitionEventHandler.java index 297049ccd..ae813f77b 100644 --- a/src/org/traccar/events/IgnitionEventHandler.java +++ b/src/org/traccar/events/IgnitionEventHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 Anton Tananaev (anton.tananaev@gmail.com) + * Copyright 2016 Anton Tananaev (anton.tananaev@gmail.com), 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. @@ -40,8 +40,8 @@ public class IgnitionEventHandler extends BaseEventHandler { boolean ignition = false; Object ignitionObject = position.getAttributes().get(Position.KEY_IGNITION); - if (ignitionObject != null && Boolean.parseBoolean(ignitionObject.toString())) { - ignition = true; + if (ignitionObject != null && ignitionObject instanceof Boolean) { + ignition = (Boolean) ignitionObject; } boolean oldIgnition = false; @@ -50,8 +50,8 @@ public class IgnitionEventHandler extends BaseEventHandler { if (lastPosition != null) { oldIgnitionObject = lastPosition.getAttributes().get(Position.KEY_IGNITION); } - if (oldIgnitionObject != null && Boolean.parseBoolean(oldIgnitionObject.toString())) { - oldIgnition = true; + if (oldIgnitionObject != null && oldIgnitionObject instanceof Boolean) { + oldIgnition = (Boolean) oldIgnitionObject; } if (ignition && !oldIgnition) { diff --git a/src/org/traccar/reports/Events.java b/src/org/traccar/reports/Events.java index fbbd3131b..c8233e4eb 100644 --- a/src/org/traccar/reports/Events.java +++ b/src/org/traccar/reports/Events.java @@ -1,3 +1,18 @@ +/* + * Copyright 2016 Anton Tananaev (anton.tananaev@gmail.com), 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; import java.sql.SQLException; diff --git a/src/org/traccar/reports/ReportUtils.java b/src/org/traccar/reports/ReportUtils.java index 5041871f7..76f0ed631 100644 --- a/src/org/traccar/reports/ReportUtils.java +++ b/src/org/traccar/reports/ReportUtils.java @@ -1,3 +1,18 @@ +/* + * Copyright 2016 Anton Tananaev (anton.tananaev@gmail.com), 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; import java.util.ArrayList; diff --git a/src/org/traccar/reports/Route.java b/src/org/traccar/reports/Route.java index 9622151e7..282a6e3f3 100644 --- a/src/org/traccar/reports/Route.java +++ b/src/org/traccar/reports/Route.java @@ -1,3 +1,18 @@ +/* + * Copyright 2016 Anton Tananaev (anton.tananaev@gmail.com), 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; import java.sql.SQLException; diff --git a/src/org/traccar/reports/Summary.java b/src/org/traccar/reports/Summary.java index 2c777b9bb..5c6fa8423 100644 --- a/src/org/traccar/reports/Summary.java +++ b/src/org/traccar/reports/Summary.java @@ -1,3 +1,18 @@ +/* + * Copyright 2016 Anton Tananaev (anton.tananaev@gmail.com), 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; import java.math.BigDecimal; @@ -38,7 +53,7 @@ public final class Summary { && previousPosition.getAttributes().get(Position.KEY_IGNITION) != null && Boolean.parseBoolean(previousPosition.getAttributes() .get(Position.KEY_IGNITION).toString())) { - result.addMotorHours(position.getFixTime().getTime() + result.addEngineHours(position.getFixTime().getTime() - previousPosition.getFixTime().getTime()); } } diff --git a/src/org/traccar/reports/model/SummaryReport.java b/src/org/traccar/reports/model/SummaryReport.java index 01006558f..dfab2f3b8 100644 --- a/src/org/traccar/reports/model/SummaryReport.java +++ b/src/org/traccar/reports/model/SummaryReport.java @@ -1,3 +1,18 @@ +/* + * Copyright 2016 Anton Tananaev (anton.tananaev@gmail.com), 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; public class SummaryReport { @@ -48,14 +63,14 @@ public class SummaryReport { } } - private long motorHours; - public long getMotorHours() { - return motorHours; + private long engineHours; + public long getEngineHours() { + return engineHours; } - public void setMotorHours(long motorHours) { - this.motorHours = motorHours; + public void setEngineHours(long engineHours) { + this.engineHours = engineHours; } - public void addMotorHours(long motorHours) { - this.motorHours += motorHours; + public void addEngineHours(long engineHours) { + this.engineHours += engineHours; } } diff --git a/web/app/AttributeFormatter.js b/web/app/AttributeFormatter.js index 7d008dc64..2e0edb6d6 100644 --- a/web/app/AttributeFormatter.js +++ b/web/app/AttributeFormatter.js @@ -34,17 +34,9 @@ Ext.define('Traccar.AttributeFormatter', { return Ext.getStore('DistanceUnits').formatValue(value, Traccar.app.getPreference('distanceUnit')); }, - intervalFormatter: function (value) { - var days, hours, minutes, seconds; - seconds = Math.floor(value / 1000); - days = Math.floor(seconds / 86400); - hours = ('0' + Math.floor(seconds / 3600) % 24).slice(-2); - minutes = ('0' + Math.floor(seconds / 60) % 60).slice(-2); - seconds = ('0' + seconds % 60).slice(-2); - return (days > 0 ? days + Strings.sharedDayAbbreviation + ' ' : '') - + (hours > 0 ? hours + Strings.sharedHourAbbreviation + ' ' : '') - + (minutes > 0 ? minutes + Strings.sharedMinuteAbbreviation + ' ' : '') - + (seconds > 60 ? seconds : seconds + Strings.sharedSecondAbbreviation); + hoursFormatter: function (value) { + var hours = value / 3600000; + return (hours.toFixed(2) + ' ' + Strings.sharedHourAbbreviation); }, defaultFormatter: function (value) { @@ -71,8 +63,8 @@ Ext.define('Traccar.AttributeFormatter', { return this.courseFormatter; } else if (key === 'distance' || key === 'odometer') { return this.distanceFormatter; - } else if (key === 'interval') { - return this.intervalFormatter; + } else if (key === 'hours') { + return this.hoursFormatter; } else { return this.defaultFormatter; } diff --git a/web/app/model/ReportSummary.js b/web/app/model/ReportSummary.js index 2017d164a..39f0c498c 100644 --- a/web/app/model/ReportSummary.js +++ b/web/app/model/ReportSummary.js @@ -34,7 +34,7 @@ Ext.define('Traccar.model.ReportSummary', { name: 'distance', type: 'float' }, { - name: 'motorHours', + name: 'engineHours', type: 'int' }] }); diff --git a/web/app/view/ReportController.js b/web/app/view/ReportController.js index 5ac84e8e2..61e278993 100644 --- a/web/app/view/ReportController.js +++ b/web/app/view/ReportController.js @@ -228,10 +228,10 @@ Ext.define('Traccar.view.ReportController', { flex: 1, renderer: Traccar.AttributeFormatter.getFormatter('speed') }, { - text: Strings.reportMotorHours, - dataIndex: 'motorHours', + text: Strings.reportEngineHours, + dataIndex: 'engineHours', flex: 1, - renderer: Traccar.AttributeFormatter.getFormatter('interval') + renderer: Traccar.AttributeFormatter.getFormatter('hours') }]; if (newValue === 'route') { diff --git a/web/l10n/en.json b/web/l10n/en.json index 11088e9bf..af4f2363e 100644 --- a/web/l10n/en.json +++ b/web/l10n/en.json @@ -26,10 +26,7 @@ "sharedMute": "Mute", "sharedType": "Type", "sharedDistance": "Distance", - "sharedDayAbbreviation": "d", "sharedHourAbbreviation": "h", - "sharedMinuteAbbreviation": "m", - "sharedSecondAbbreviation": "s", "errorTitle": "Error", "errorUnknown": "Unknown error", "errorConnection": "Connection error", @@ -146,5 +143,5 @@ "reportDeviceName": "Device Name", "reportAverageSpeed": "Average Speed", "reportMaximumSpeed": "Maximum Speed", - "reportMotorHours": "Motor Hours" + "reportEngineHours": "Engine Hours" } \ No newline at end of file -- cgit v1.2.3