fleetmap-reports 1.0.937 → 1.0.938

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.937",
3
+ "version": "1.0.938",
4
4
  "description": "",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -12,7 +12,7 @@ const {
12
12
  const { getStyle } = require('./reportStyle')
13
13
  const { getUserPartner } = require('fleetmap-partners')
14
14
  const traccar = require('./util/traccar')
15
- const { isInsideTimetable, isPartialInsideTimetable, calculateTrip, getDataByDay } = require('./util/trips')
15
+ const { isInsideTimetable, isPartialInsideTimetable, calculateTrip, getDataByDay, getKms } = require('./util/trips')
16
16
  const { devicesToProcess } = require('./util/device')
17
17
  const { getDriverData } = require('./util/driver')
18
18
  const { calculateConsumption } = require('./util/fuel')
@@ -178,8 +178,7 @@ async function processDevices (from, to, devices, data, userData, traccarInstanc
178
178
  const dates = getDates(from, to, userData.user.attributes.timezone || getUserPartner(userData.user).timezone)
179
179
  for (const date of dates) {
180
180
  const { tripsByDay, routeByDay } = await getDataByDay(d, date, { trips, route: deviceRoute }, userData, traccarInstance)
181
-
182
- const distance = tripsByDay.reduce((a, b) => a + b.distance, 0)
181
+ const distance = getKms(tripsByDay)
183
182
  if (!userData.allWeek && userData.weekDays && userData.dayHours) {
184
183
  if (weekDaySelected(date, userData.weekDays)) {
185
184
  summary.push({
@@ -222,7 +221,7 @@ async function processDevices (from, to, devices, data, userData, traccarInstanc
222
221
  } else {
223
222
  if (!userData.allWeek && userData.weekDays && userData.dayHours) {
224
223
  const trips = deviceTrips.filter(t => userData.allWeek || !userData.weekDays || isInsideTimetable(t, userData) || isPartialInsideTimetable(t, userData, deviceRoute))
225
- const distance = trips.reduce((a, b) => a + b.distance, 0)
224
+ const distance = getKms(trips)
226
225
  summary.push({
227
226
  deviceId: d.id,
228
227
  averageSpeed: distance > 0 ? ((trips.reduce((a, b) => a + (b.averageSpeed * b.distance), 0)) / distance) : 0,
@@ -244,7 +243,7 @@ async function processDevices (from, to, devices, data, userData, traccarInstanc
244
243
  if (summary.length) {
245
244
  summary.forEach(s => {
246
245
  s.engineHours = deviceTrips.reduce((a, b) => a + b.duration, 0)
247
- s.distance = deviceTrips.reduce((a, b) => a + b.distance, 0)
246
+ s.distance = getKms(deviceTrips)
248
247
  s.convertedSpentFuel = calculateConsumption(d, { route: deviceRoute, summary: s })
249
248
  s.startTime = deviceTrips.length && deviceTrips[0].startTime
250
249
  s.startAddress = deviceTrips.length && deviceTrips[0].startAddress
package/src/kms-report.js CHANGED
@@ -9,7 +9,7 @@ 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 drivers = require('./util/driver')
12
- const { isInsideTimetable, isPartialInsideTimetable, calculateTrip, getDataByDay, checkTripsKms } = require('./util/trips')
12
+ const { isInsideTimetable, isPartialInsideTimetable, calculateTrip, getDataByDay, checkTripsKms, getKms } = require('./util/trips')
13
13
  const traccarHelper = require('./util/traccar')
14
14
  const { devicesToProcess } = require('./util/device')
15
15
  const { getDriverData } = require('./util/driver')
@@ -178,10 +178,9 @@ async function processDevices (from, to, devices, data, userData, traccarInstanc
178
178
  const dates = getDates(from, to, userData.user.attributes.timezone || getUserPartner(userData.user).timezone)
179
179
  const days = await Promise.all(dates.map(async date => {
180
180
  const { tripsByDay } = await getDataByDay(d, date, { trips }, userData, traccarInstance)
181
- const odometerKms = tripsByDay.length > 0 ? tripsByDay[tripsByDay.length - 1].endOdometer - tripsByDay[0].startOdometer : 0
182
181
  return {
183
182
  date,
184
- kms: odometerKms > 0 ? odometerKms : tripsByDay.reduce((a, b) => a + b.distance, 0)
183
+ kms: getKms(tripsByDay)
185
184
  }
186
185
  }))
187
186
 
@@ -193,13 +192,12 @@ async function processDevices (from, to, devices, data, userData, traccarInstanc
193
192
  })
194
193
  }
195
194
  } else {
196
- const odometerKms = trips.length > 0 ? trips[trips.length - 1].endOdometer - trips[0].startOdometer : 0
197
195
  devicesResult.push({
198
196
  device: d,
199
197
  summary: {
200
198
  startOdometer: trips.length ? trips[0].startOdometer : 0,
201
199
  endOdometer: trips.length ? trips[trips.length - 1].endOdometer : 0,
202
- distance: odometerKms > 0 ? odometerKms : trips.filter(t => t.distance > 0).reduce((a, b) => a + b.distance, 0)
200
+ distance: getKms(trips)
203
201
  }
204
202
  })
205
203
  }
package/src/util/trips.js CHANGED
@@ -129,6 +129,11 @@ async function getDataByDay (device, date, data, userData, traccarInstance) {
129
129
  return { tripsByDay, routeByDay }
130
130
  }
131
131
 
132
+ function getKms (trips) {
133
+ const odometerKms = trips.length > 0 ? trips[trips.length - 1].endOdometer - trips[0].startOdometer : 0
134
+ return odometerKms > 0 ? odometerKms : trips.filter(t => t.distance > 0).reduce((a, b) => a + b.distance, 0)
135
+ }
136
+
132
137
  function isInsideTimetable (t, userData) {
133
138
  return isInside(t.startTime, t.endTime, userData)
134
139
  }
@@ -199,6 +204,7 @@ exports.checkTripsKms = checkTripsKms
199
204
  exports.isInsideTimetable = isInsideTimetable
200
205
  exports.isPartialInsideTimetable = isPartialInsideTimetable
201
206
  exports.getDataByDay = getDataByDay
207
+ exports.getKms = getKms
202
208
  exports.calculatePartialTrip = calculatePartialTrip
203
209
  exports.calculateTrip = calculateTrip
204
210
  exports.getTripIdleTime = getTripIdleTime