fleetmap-reports 1.0.700 → 1.0.702
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 +9 -6
- package/src/tests/idle.test.js +17 -0
- package/src/tests/index.test.js +0 -2
- package/src/tests/zones.test.js +20 -1
- package/src/util/utils.js +1 -1
- package/src/zone-report.js +1 -1
package/package.json
CHANGED
package/src/idle-report.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
const jsPDF = require('jspdf')
|
|
2
2
|
const { headerFromUser, AmiriRegular } = require('./util/pdfDocument')
|
|
3
|
-
const {
|
|
3
|
+
const {
|
|
4
|
+
convertToLocaleString, convertMS, getTranslations, getLanguage, convertToLocaleDateString, convertToLocaleTimeString,
|
|
5
|
+
convertPositionToFeature,
|
|
6
|
+
convertToFeature
|
|
7
|
+
} = require('./util/utils')
|
|
4
8
|
const { getStyle } = require('./reportStyle')
|
|
5
9
|
const { getUserPartner } = require('fleetmap-partners')
|
|
6
10
|
const { devicesToProcess } = require('./util/device')
|
|
@@ -8,7 +12,7 @@ const automaticReports = require('./automaticReports')
|
|
|
8
12
|
const traccarHelper = require('./util/traccar')
|
|
9
13
|
const { getIdleEvents } = require('./util/route')
|
|
10
14
|
const { reportByDriver, getDriverData } = require('./util/driver')
|
|
11
|
-
const { getNearestPOIs,
|
|
15
|
+
const { getNearestPOIs, checkGeofenceIn, loadGroupsData } = require('./util/geofence')
|
|
12
16
|
|
|
13
17
|
const fileName = 'IdleReport'
|
|
14
18
|
|
|
@@ -202,10 +206,9 @@ function findPOIData (event, userData) {
|
|
|
202
206
|
}
|
|
203
207
|
}
|
|
204
208
|
|
|
205
|
-
function findGeofenceData (event, userData) {
|
|
206
|
-
const geofence =
|
|
207
|
-
|
|
208
|
-
)
|
|
209
|
+
function findGeofenceData (event, userData, geofences) {
|
|
210
|
+
const geofence = geofences.find(g =>
|
|
211
|
+
checkGeofenceIn(convertPositionToFeature(event.position), convertToFeature(g)))
|
|
209
212
|
if (geofence) {
|
|
210
213
|
const group = userData.groups.find(g => g.geofenceIds && g.geofenceIds.includes(geofence.id))
|
|
211
214
|
event.geofenceName = geofence.name
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const { getReports } = require('./index')
|
|
2
|
+
const assert = require('assert')
|
|
3
|
+
// eslint-disable-next-line no-undef
|
|
4
|
+
describe('idle', function () {
|
|
5
|
+
// eslint-disable-next-line no-undef
|
|
6
|
+
it('works with afriquia', async () => {
|
|
7
|
+
const report = await getReports('moviflotte@gmail.com', 'moviflotte@gmail.com')
|
|
8
|
+
const userData = await report.getUserData()
|
|
9
|
+
console.log(userData.devices.length)
|
|
10
|
+
console.log(userData.geofences)
|
|
11
|
+
const result = await report.idleReport(
|
|
12
|
+
new Date(Date.UTC(2023, 5, 11, 0, 0, 0, 0)),
|
|
13
|
+
new Date(Date.UTC(2023, 5, 11, 23, 59, 59, 0)),
|
|
14
|
+
userData)
|
|
15
|
+
console.log('result', result)
|
|
16
|
+
}, 4000000)
|
|
17
|
+
})
|
package/src/tests/index.test.js
CHANGED
|
@@ -17,12 +17,10 @@ describe('Test_Reports', function () {
|
|
|
17
17
|
userData)
|
|
18
18
|
await report.speedingReportToPDF(userData, data)
|
|
19
19
|
}, 40000)
|
|
20
|
-
|
|
21
20
|
it('converts madrid time', async () => {
|
|
22
21
|
assert.equal(false, utils.isClientSide())
|
|
23
22
|
console.log(utils.convertToLocaleString(new Date(), 'es-CL', 'Europe/Madrid'))
|
|
24
23
|
})
|
|
25
|
-
|
|
26
24
|
// eslint-disable-next-line no-undef
|
|
27
25
|
it('Trip by device', async () => {
|
|
28
26
|
const report = await getReports()
|
package/src/tests/zones.test.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
const { getReports } = require('./index')
|
|
2
|
+
const assert = require('assert')
|
|
3
|
+
const ellca = require('./ellca.json')
|
|
4
|
+
// eslint-disable-next-line no-undef
|
|
2
5
|
describe('zones', function () {
|
|
6
|
+
// eslint-disable-next-line no-undef
|
|
3
7
|
it('works with ellca', async () => {
|
|
4
8
|
const report = await getReports()
|
|
5
9
|
const userData = await report.getUserData()
|
|
@@ -20,7 +24,6 @@ describe('zones', function () {
|
|
|
20
24
|
const report = await getReports('moviflotte@gmail.com', 'moviflotte@gmail.com')
|
|
21
25
|
const userData = await report.getUserData()
|
|
22
26
|
console.log(userData.devices.length)
|
|
23
|
-
console.log(userData.devices.map(d => d.id))
|
|
24
27
|
console.log(userData.geofences)
|
|
25
28
|
const result = await report.zoneReport(
|
|
26
29
|
new Date(Date.UTC(2023, 5, 11, 0, 0, 0, 0)),
|
|
@@ -28,4 +31,20 @@ describe('zones', function () {
|
|
|
28
31
|
userData)
|
|
29
32
|
console.log('result', result)
|
|
30
33
|
}, 4000000)
|
|
34
|
+
|
|
35
|
+
// eslint-disable-next-line no-undef
|
|
36
|
+
it('works with casais', async () => {
|
|
37
|
+
const report = await getReports('mario.andre.moreira@casais.gi', 'Casais.23')
|
|
38
|
+
const userData = await report.getUserData()
|
|
39
|
+
userData.devices = userData.devices.filter(d => d.name === 'G-1101-E Clio')
|
|
40
|
+
userData.geofences = userData.geofences.filter(g => g.name === 'baliza raio verde ')
|
|
41
|
+
const result = await report.zoneReport(
|
|
42
|
+
new Date(Date.UTC(2023, 0, 1, 0, 0, 0, 0)),
|
|
43
|
+
new Date(Date.UTC(2023, 0, 31, 23, 59, 59, 0)),
|
|
44
|
+
userData)
|
|
45
|
+
const first = result[0].devices[0].geofences[0]
|
|
46
|
+
console.log(first)
|
|
47
|
+
assert.equal(first.inTime.fixTime, '2023-01-03T21:23:24.000+0000')
|
|
48
|
+
assert.equal(first.outTime.fixTime, '2023-01-07T12:22:53.000+0000')
|
|
49
|
+
}, 4000000)
|
|
31
50
|
})
|
package/src/util/utils.js
CHANGED
package/src/zone-report.js
CHANGED
|
@@ -325,7 +325,7 @@ function getInAndOutEvents (devices, route, userData) {
|
|
|
325
325
|
if (!checkGeofenceIn(p, g)) {
|
|
326
326
|
deviceEvents.push(createEvent('geofenceExit', d.id, p, g))
|
|
327
327
|
} else {
|
|
328
|
-
|
|
328
|
+
p.inside[id] = true
|
|
329
329
|
}
|
|
330
330
|
} else {
|
|
331
331
|
if (checkGeofenceIn(p, g)) {
|