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 +1 -1
- package/src/activity-report.js +4 -5
- package/src/kms-report.js +3 -5
- package/src/util/trips.js +6 -0
package/package.json
CHANGED
package/src/activity-report.js
CHANGED
|
@@ -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
|
|
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
|
|
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:
|
|
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:
|
|
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
|