fleetmap-reports 1.0.626 → 1.0.628
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/idle-report.js +10 -6
- package/src/partnerReports/afriquia.js +11 -5
- package/src/util/route.js +1 -0
package/package.json
CHANGED
package/src/idle-report.js
CHANGED
|
@@ -195,7 +195,8 @@ async function exportIdleReportToPDF (userData, reportData) {
|
|
|
195
195
|
const idleData = userData.byDriver ? reportData.drivers : reportData.devices
|
|
196
196
|
|
|
197
197
|
const headers = [
|
|
198
|
-
translations.report.
|
|
198
|
+
translations.report.start,
|
|
199
|
+
translations.report.end,
|
|
199
200
|
translations.report.address,
|
|
200
201
|
translations.report.duration
|
|
201
202
|
]
|
|
@@ -234,7 +235,8 @@ async function exportIdleReportToPDF (userData, reportData) {
|
|
|
234
235
|
|
|
235
236
|
d.idleEvents.forEach(a => {
|
|
236
237
|
const temp = [
|
|
237
|
-
getIdleEventDate(a, userData.user),
|
|
238
|
+
getIdleEventDate(a.position, userData.user),
|
|
239
|
+
getIdleEventDate(a.lastPosition, userData.user),
|
|
238
240
|
a.position.address,
|
|
239
241
|
convertMS(a.idleTime, true),
|
|
240
242
|
userData.byDriver ? a.deviceName : getDriver(a, userData.drivers)
|
|
@@ -304,7 +306,8 @@ function exportIdleReportToExcel (userData, reportData) {
|
|
|
304
306
|
}
|
|
305
307
|
const headers = [
|
|
306
308
|
{ label: userData.byDriver ? translations.report.driver : translations.report.vehicle, value: 'name' },
|
|
307
|
-
{ label: translations.report.
|
|
309
|
+
{ label: translations.report.start, value: 'start' },
|
|
310
|
+
{ label: translations.report.end, value: 'end' },
|
|
308
311
|
{ label: translations.report.address, value: 'address' },
|
|
309
312
|
{ label: translations.report.duration, value: 'duration' },
|
|
310
313
|
{ label: userData.byDriver ? translations.report.vehicle : translations.report.driver, value: 'subname' }
|
|
@@ -318,7 +321,8 @@ function exportIdleReportToExcel (userData, reportData) {
|
|
|
318
321
|
return {
|
|
319
322
|
name: userData.byDriver ? d.driver.name : d.device.name,
|
|
320
323
|
duration: convertMS(a.idleTime, true),
|
|
321
|
-
|
|
324
|
+
start: getIdleEventDate(a.position, userData.user),
|
|
325
|
+
end: getIdleEventDate(a.lastPosition, userData.user),
|
|
322
326
|
subname: userData.byDriver ? a.deviceName : getDriver(a, userData.drivers),
|
|
323
327
|
address: a.position.address + (a.geofenceName ? ' - ' + a.geofenceName : '')
|
|
324
328
|
}
|
|
@@ -343,8 +347,8 @@ function deviceName (device) {
|
|
|
343
347
|
return device.name + (device.attributes.license_plate ? ', ' + device.attributes.license_plate : '') + (device.model ? ', ' + device.model : '')
|
|
344
348
|
}
|
|
345
349
|
|
|
346
|
-
function getIdleEventDate (
|
|
347
|
-
return convertToLocaleString(
|
|
350
|
+
function getIdleEventDate (position, user) {
|
|
351
|
+
return convertToLocaleString(position.fixTime, user.attributes.lang, user.attributes.timezone)
|
|
348
352
|
}
|
|
349
353
|
|
|
350
354
|
exports.createIdleReport = createIdleReport
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const traccar = require('../util/traccar')
|
|
2
2
|
const { getIdleEvents } = require('../util/route')
|
|
3
|
-
const { insideGeofence } = require('../util/geofence')
|
|
3
|
+
const { insideGeofence, getNearestPOIs } = require('../util/geofence')
|
|
4
4
|
|
|
5
5
|
async function createActivityReport (from, to, userData, traccarInstance) {
|
|
6
6
|
const notAuthGroup = userData.groups.find(g => g.name === 'Zones Non Autorisées')
|
|
@@ -42,13 +42,19 @@ async function createActivityReport (from, to, userData, traccarInstance) {
|
|
|
42
42
|
|
|
43
43
|
const idleTimeArray = idleEvents.map(e => e.idleTime).filter(a => a > 0)
|
|
44
44
|
|
|
45
|
+
const startTrip = trips.length ? trips[0] : undefined
|
|
46
|
+
const endTrip = trips.length ? trips[trips.length - 1] : undefined
|
|
47
|
+
|
|
48
|
+
const startNearestPOIs = startTrip ? getNearestPOIs(startTrip.startLon, startTrip.startLat, userData.geofences) : []
|
|
49
|
+
const endNearestPOIs = endTrip ? getNearestPOIs(endTrip.endLon, endTrip.endLat, userData.geofences) : []
|
|
50
|
+
|
|
45
51
|
const deviceData = {
|
|
46
52
|
device: d.name,
|
|
47
53
|
group: group ? group.name : '',
|
|
48
|
-
startAddress:
|
|
49
|
-
startTime:
|
|
50
|
-
endAddress:
|
|
51
|
-
endTime:
|
|
54
|
+
startAddress: startNearestPOIs.length > 0 ? startNearestPOIs[0].p.name : (startTrip ? startTrip.startAddress : ''),
|
|
55
|
+
startTime: startTrip ? startTrip.startTime : '',
|
|
56
|
+
endAddress: endNearestPOIs.length > 0 ? endNearestPOIs[0].p.name : (endTrip ? endTrip.endAddress : ''),
|
|
57
|
+
endTime: endTrip ? endTrip.endTime : '',
|
|
52
58
|
drivingTime,
|
|
53
59
|
stopTime,
|
|
54
60
|
idleTime: idleEvents.reduce((a, b) => a + b.idleTime, 0),
|
package/src/util/route.js
CHANGED
|
@@ -29,6 +29,7 @@ function getIdleEvents (route, driver) {
|
|
|
29
29
|
} else if (inIdle) {
|
|
30
30
|
const currentIdleEvent = idleEvents[idleEvents.length - 1]
|
|
31
31
|
currentIdleEvent.idleTime = new Date(last.fixTime) - new Date(currentIdleEvent.position.fixTime)
|
|
32
|
+
currentIdleEvent.lastPosition = last
|
|
32
33
|
inIdle = false
|
|
33
34
|
}
|
|
34
35
|
})
|