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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fleetmap-reports",
3
- "version": "1.0.952",
3
+ "version": "1.0.954",
4
4
  "description": "",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -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, getTranslations, getLanguage } = require('../util/utils')
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
@@ -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('fleetmap.joao.penas2@gmail.com', 'penas46881')
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 === 81202)
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, 6, 13, 0, 0, 0, 0)),
57
- new Date(Date.UTC(2023, 6, 13, 23, 59, 59, 0)),
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, 28)
61
+ assert.equal(first.days[0].distanceOut, 0)
62
+ assert.equal(first.days[2].distanceOut, 0)
62
63
  }, 4000000)
63
64
  })
@@ -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
- devices.forEach(d => {
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 = deviceTrips.filter(t => userData.allWeek || !userData.weekDays || isInsideTimetable(t, userData) || isPartialInsideTimetable(t, userData, deviceRoute))
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
  }
@@ -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('geofenceIn', d.id, p, g))
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
- })