fleetmap-reports 2.0.131 → 2.0.133

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": "2.0.131",
3
+ "version": "2.0.133",
4
4
  "description": "",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
package/src/kms-report.js CHANGED
@@ -9,11 +9,15 @@ const { getUserPartner } = require('fleetmap-partners')
9
9
  const traccar = require('./util/traccar')
10
10
  const { getDates, getTranslations, isClientSide, executeServerSide } = require('./util/utils')
11
11
  const driversUtil = require('./util/driver')
12
- const { isInsideTimetable, isPartialInsideTimetable, calculateTrip, getDataByDay, getKms } = require('./util/trips')
12
+ const {
13
+ isInsideTimetable, isPartialInsideTimetable, calculateTrip, getDataByDay, getKms,
14
+ getTripTotalKms
15
+ } = require('./util/trips')
13
16
  const { devicesToProcess } = require('./util/device')
14
17
  const { getDriverData, reportByDriver } = require('./util/driver')
15
18
  const automaticReports = require('./automaticReports')
16
19
  const { getSummaryByDay } = require('./util/traccar')
20
+ const { getStop } = require('./trip-report')
17
21
 
18
22
  const fileName = 'KmsReport'
19
23
 
@@ -118,7 +122,7 @@ async function createKmsReportByDriver (from, to, userData, traccarInstance) {
118
122
  report.drivers = drivers
119
123
  })
120
124
  } else {
121
- const results = await reportByDriver(userData.devices, traccarInstance, from, to, userData, processDrivers, { route: !userData.allWeek, trips: true, stops: false, summary: false })
125
+ const results = await reportByDriver(userData.devices, traccarInstance, from, to, userData, processDrivers, { route: !userData.allWeek || userData.byDriver, trips: true, stops: true, summary: false })
122
126
 
123
127
  results.drivers.forEach(result => {
124
128
  const driver = report.drivers.find(d => d.driver.id === result.driver.id)
@@ -201,7 +205,13 @@ async function processDrivers (from, to, userData, data) {
201
205
  }
202
206
  } else {
203
207
  driverData.summary = {
204
- distance: trips.filter(t => t.distance > 0).reduce((a, b) => a + b.distance, 0)
208
+ distance: trips.reduce((a, b) =>
209
+ a + getTripTotalKms(
210
+ b,
211
+ getStop(new Date(b.endTime), data.stops.filter(s => s.deviceId === b.deviceId)),
212
+ data.route.filter(r => r.deviceId === b.deviceId)
213
+ ), 0
214
+ ) * 1000
205
215
  }
206
216
  }
207
217
  driversResult.push(driverData)
@@ -623,6 +623,7 @@ function getStop (tripEndDate, stops) {
623
623
  return null
624
624
  }
625
625
 
626
+ exports.getStop = getStop
626
627
  exports.createTripReport = createTripReport
627
628
  exports.exportTripReportToPDF = exportTripReportToPDF
628
629
  exports.exportTripReportToExcel = exportTripReportToExcel