fleetmap-reports 1.0.952 → 1.0.954
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
CHANGED
|
@@ -2,11 +2,7 @@ const automaticReports = require('../automaticReports')
|
|
|
2
2
|
const traccarHelper = require('../util/traccar')
|
|
3
3
|
const { getUncompletedTrip } = require('../util/trips')
|
|
4
4
|
const { getEndTripMessages, getCanDriverStyleMessages, parseEndTripMessage, parseCanDriverStyleMessage } = require('../util/xpert')
|
|
5
|
-
const { calculateDistance
|
|
6
|
-
const { addTable } = require('../util/pdfDocument')
|
|
7
|
-
const jsPDF = require('jspdf')
|
|
8
|
-
const { getStyle } = require('../reportStyle')
|
|
9
|
-
const { getUserPartner } = require('fleetmap-partners')
|
|
5
|
+
const { calculateDistance } = require('../util/utils')
|
|
10
6
|
|
|
11
7
|
async function createPerformanceReport (from, to, userData, traccar) {
|
|
12
8
|
const reportData = []
|
|
@@ -218,48 +214,4 @@ function calculateRPMSections (route, min, max) {
|
|
|
218
214
|
return sections
|
|
219
215
|
}
|
|
220
216
|
|
|
221
|
-
function exportPerformanceReportToPDF (userData, reportData) {
|
|
222
|
-
const timezone = userData.user.attributes.timezone
|
|
223
|
-
const translations = getTranslations(userData)
|
|
224
|
-
const lang = getLanguage(userData)
|
|
225
|
-
|
|
226
|
-
const headers = [
|
|
227
|
-
translations.report.vehicle,
|
|
228
|
-
'Totale Utilisation',
|
|
229
|
-
'Conduite',
|
|
230
|
-
'Ralenti',
|
|
231
|
-
'Totale (L)',
|
|
232
|
-
'Conduite (L)',
|
|
233
|
-
'Ralenti (L)',
|
|
234
|
-
'Conduite (Km)',
|
|
235
|
-
'Économique',
|
|
236
|
-
'Économique (L)',
|
|
237
|
-
'Économique (Km)',
|
|
238
|
-
'Cruise Control',
|
|
239
|
-
'Cruise Control (L)',
|
|
240
|
-
'Cruise Control (Km)',
|
|
241
|
-
'Tour moteur élevé',
|
|
242
|
-
'Accéleration brusque (Sum)',
|
|
243
|
-
'Freinage brusque (Sum)',
|
|
244
|
-
'Virages brusque'
|
|
245
|
-
]
|
|
246
|
-
|
|
247
|
-
const data = []
|
|
248
|
-
reportData.devices.forEach(d => {
|
|
249
|
-
|
|
250
|
-
})
|
|
251
|
-
|
|
252
|
-
const doc = new jsPDF.jsPDF('l')
|
|
253
|
-
const style = getStyle(getUserPartner(userData.user))
|
|
254
|
-
|
|
255
|
-
addTable(doc, headers, data, footValues, style)
|
|
256
|
-
return doc
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
function exportPerformanceReportToExcel (userData, reportData) {
|
|
260
|
-
|
|
261
|
-
}
|
|
262
|
-
|
|
263
217
|
exports.createPerformanceReport = createPerformanceReport
|
|
264
|
-
exports.exportPerformanceReportToPDF = exportPerformanceReportToPDF
|
|
265
|
-
exports.exportPerformanceReportToExcel = exportPerformanceReportToExcel
|
package/src/tests/zones.test.js
CHANGED
|
@@ -45,19 +45,20 @@ describe('zones', function () {
|
|
|
45
45
|
|
|
46
46
|
// eslint-disable-next-line no-undef
|
|
47
47
|
it('works with casais zones in columns', async () => {
|
|
48
|
-
const report = await getReports(
|
|
48
|
+
const report = await getReports()
|
|
49
49
|
const userData = await report.getUserData()
|
|
50
50
|
userData.zonesByColumn = true
|
|
51
|
-
userData.devices = userData.devices.filter(d => d.id ===
|
|
51
|
+
userData.devices = userData.devices.filter(d => d.id === 81201)
|
|
52
52
|
userData.geofences = userData.geofences.filter(g => g.name === 'baliza 1 - raio verde ' ||
|
|
53
53
|
g.name === 'baliza 2 - raio amarelo')
|
|
54
54
|
userData.onlyWithKmsOut = false
|
|
55
55
|
const result = await report.zoneReport(
|
|
56
|
-
new Date(Date.UTC(2023,
|
|
57
|
-
new Date(Date.UTC(2023,
|
|
56
|
+
new Date(Date.UTC(2023, 7, 17, 0, 0, 0, 0)),
|
|
57
|
+
new Date(Date.UTC(2023, 7, 20, 23, 59, 59, 0)),
|
|
58
58
|
userData)
|
|
59
59
|
const first = result[0].devices[0]
|
|
60
60
|
console.log(first)
|
|
61
|
-
assert.equal(first.days[0].distanceOut,
|
|
61
|
+
assert.equal(first.days[0].distanceOut, 0)
|
|
62
|
+
assert.equal(first.days[2].distanceOut, 0)
|
|
62
63
|
}, 4000000)
|
|
63
64
|
})
|
package/src/trip-report.js
CHANGED
|
@@ -62,7 +62,7 @@ async function createTripReportByDevice (from, to, userData, traccar) {
|
|
|
62
62
|
|
|
63
63
|
if (tripsData.length > 0) {
|
|
64
64
|
trips.checkTripsKms(traccar, from, to, slice, { trips: tripsData, route: routeData })
|
|
65
|
-
allData.devices.push(...processDevices(from, to, slice, {
|
|
65
|
+
allData.devices.push(...await processDevices(from, to, slice, {
|
|
66
66
|
trips: tripsData,
|
|
67
67
|
stops: stopsData,
|
|
68
68
|
route: routeData
|
|
@@ -99,7 +99,7 @@ async function createTripReportByGroup (from, to, userData, traccar) {
|
|
|
99
99
|
|
|
100
100
|
if (tripsData.length > 0) {
|
|
101
101
|
console.log('Trips:' + tripsData.length)
|
|
102
|
-
groupData.devices = processDevices(from, to, devices, { trips: tripsData, stops: stopsData, route: routeData }, userData)
|
|
102
|
+
groupData.devices = await processDevices(from, to, devices, { trips: tripsData, stops: stopsData, route: routeData }, userData)
|
|
103
103
|
|
|
104
104
|
reportData.push(groupData)
|
|
105
105
|
}
|
|
@@ -145,10 +145,10 @@ async function createTripReportByDriver (from, to, userData, traccar) {
|
|
|
145
145
|
return report
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
-
function processDevices (from, to, devices, data, userData, traccar) {
|
|
148
|
+
async function processDevices (from, to, devices, data, userData, traccar) {
|
|
149
149
|
const devicesResult = []
|
|
150
150
|
|
|
151
|
-
|
|
151
|
+
for (const d of devices) {
|
|
152
152
|
const deviceRoute = data.route.filter(t => t.deviceId === d.id)
|
|
153
153
|
const deviceTrips = data.trips.filter(t => t.deviceId === d.id)
|
|
154
154
|
|
|
@@ -157,7 +157,17 @@ function processDevices (from, to, devices, data, userData, traccar) {
|
|
|
157
157
|
deviceTrips.push(uncompletedTrip)
|
|
158
158
|
}
|
|
159
159
|
|
|
160
|
-
const trips =
|
|
160
|
+
const trips = []
|
|
161
|
+
|
|
162
|
+
for (const t of deviceTrips) {
|
|
163
|
+
if (userData.allWeek ||
|
|
164
|
+
!userData.weekDays ||
|
|
165
|
+
isInsideTimetable(t, userData) ||
|
|
166
|
+
await isPartialInsideTimetable(t, userData, deviceRoute)) {
|
|
167
|
+
trips.push(t)
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
161
171
|
const stops = data.stops.filter(s => s.deviceId === d.id)
|
|
162
172
|
|
|
163
173
|
trips.forEach(trip => {
|
|
@@ -224,7 +234,7 @@ function processDevices (from, to, devices, data, userData, traccar) {
|
|
|
224
234
|
|
|
225
235
|
devicesResult.push(deviceData)
|
|
226
236
|
}
|
|
227
|
-
}
|
|
237
|
+
}
|
|
228
238
|
|
|
229
239
|
return devicesResult
|
|
230
240
|
}
|
package/src/zone-report.js
CHANGED
|
@@ -441,7 +441,7 @@ async function getInAndOutEvents (devices, route, userData) {
|
|
|
441
441
|
geofencesFeatures.forEach((g, id) => {
|
|
442
442
|
if (checkGeofenceIn(p, g)) {
|
|
443
443
|
p.inside[id] = true
|
|
444
|
-
events.push(createEvent('
|
|
444
|
+
events.push(createEvent('geofenceEnter', d.id, p, g))
|
|
445
445
|
}
|
|
446
446
|
})
|
|
447
447
|
return
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
const { getReports } = require('./index')
|
|
2
|
-
const assert = require('assert')
|
|
3
|
-
const { convertMS } = require('../util/utils')
|
|
4
|
-
const { createGPSJumpReport } = require('../partnerReports/gpsjump-report')
|
|
5
|
-
|
|
6
|
-
// eslint-disable-next-line no-undef
|
|
7
|
-
describe('gpsjump', function () {
|
|
8
|
-
// eslint-disable-next-line no-undef
|
|
9
|
-
it('gpsjump report', async () => {
|
|
10
|
-
const report = await getReports()
|
|
11
|
-
const userData = await report.getUserData()
|
|
12
|
-
userData.devices = userData.devices.filter(d => d.id === 22326)
|
|
13
|
-
const data = await createGPSJumpReport(
|
|
14
|
-
new Date(Date.UTC(2023, 6, 1, 0, 0, 0, 0)),
|
|
15
|
-
new Date(Date.UTC(2023, 6, 17, 23, 59, 59, 0)),
|
|
16
|
-
userData,
|
|
17
|
-
report.traccar)
|
|
18
|
-
console.log(data)
|
|
19
|
-
assert.equal(data[0].consumption, 19.799999999999997)
|
|
20
|
-
assert.equal(data[0].distance, 326.7657)
|
|
21
|
-
assert.equal(convertMS(data[1].time * 1000, false), '08:19')
|
|
22
|
-
}, 8000000)
|
|
23
|
-
})
|