fleetmap-reports 1.0.419 → 1.0.420

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fleetmap-reports",
3
- "version": "1.0.419",
3
+ "version": "1.0.420",
4
4
  "description": "",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -3,16 +3,15 @@ const jsPDF = require('jspdf')
3
3
  const { convertMS, convertToLocaleString } = require('./util/utils')
4
4
  const { headerFromUser, AmiriRegular } = require('./util/pdfDocument')
5
5
  require('jspdf-autotable')
6
- const { parse } = require('wkt')
7
6
  const { getStyle } = require('./reportStyle')
8
7
  const drivers = require('./util/driver')
9
8
  const here = require('./here')
10
9
  const { getUserPartner } = require('fleetmap-partners')
11
10
  const traccarHelper = require('./util/traccar')
12
11
  const { devicesToProcess } = require('./util/device')
13
- const turf = require('@turf/distance')
14
12
  const { point } = require('@turf/helpers')
15
13
  const distance = require('@turf/distance')
14
+ const { insideGeofence } = require('./util/geofence')
16
15
 
17
16
  const fileName = 'SpeedingReport'
18
17
  const eventTypes = ['deviceOverspeed']
@@ -281,7 +280,7 @@ function calculateEventData (positions, pIndex, alert, device, geofence, userDat
281
280
  dist += distance.default(point([endEventPosition.longitude, endEventPosition.latitude]),
282
281
  point([positions[pIndex].longitude, positions[pIndex].latitude]))
283
282
  endEventPosition = positions[pIndex]
284
- if (endEventPosition.speed <= alert.attributes.speedLimit || (geofence && isOutsideGeofence(geofence, endEventPosition))) {
283
+ if (endEventPosition.speed <= alert.attributes.speedLimit || (geofence && !insideGeofence(endEventPosition, geofence))) {
285
284
  alert.eventTime = new Date(endEventPosition.fixTime) - new Date(alert.position.fixTime)
286
285
  alert.attributes.maxSpeed = maxSpeed
287
286
  alert.distance = dist
@@ -303,12 +302,6 @@ function calculateEventData (positions, pIndex, alert, device, geofence, userDat
303
302
  return pIndex
304
303
  }
305
304
 
306
- function isOutsideGeofence (geofence, endEventPosition) {
307
- const v = turf.feature(turf.flip(parse(geofence.area)))
308
- const point = turf.point([endEventPosition.longitude, endEventPosition.latitude])
309
- return turf.inside(point, v)
310
- }
311
-
312
305
  async function exportSpeedingReportToPDF (userData, reportData) {
313
306
  console.log('Export to PDF')
314
307
 
@@ -364,7 +357,7 @@ async function exportSpeedingReportToPDF (userData, reportData) {
364
357
  if (d.alerts[0] && !userData.byDriver) {
365
358
  doc.text(translations.report.speedLimit + ': ' + ((userData.useVehicleSpeedLimit || !userData.customSpeed) ? Math.round(d.alerts[0].attributes.speedLimit * 1.85200) : userData.customSpeed) + ' Km/h', 20, space + 30)
366
359
  }
367
- d.alerts.map(a => {
360
+ d.alerts.forEach(a => {
368
361
  const temp = [
369
362
  getAlertDate(a, userData.user),
370
363
  a.position.address + (a.geofenceName ? ' - ' + a.geofenceName : ''),