fleetmap-reports 2.0.135 → 2.0.137
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
|
@@ -41,12 +41,12 @@ async function create (from, to, userData, traccar) {
|
|
|
41
41
|
let hardCornering = 0
|
|
42
42
|
if (route.find(p => p.attributes.rawXpert)) {
|
|
43
43
|
const xpertMessages = route.map(p => p.attributes.rawXpert).filter(a => a)
|
|
44
|
-
const canDriverStyle = getCanDriverStyleMessages(xpertMessages).map(m => parseCanDriverStyleMessage(m
|
|
45
|
-
highEngineRPM = canDriverStyle.
|
|
46
|
-
hardBraking = canDriverStyle.
|
|
47
|
-
hardAcceleration = canDriverStyle.
|
|
44
|
+
const canDriverStyle = getCanDriverStyleMessages(xpertMessages).map(m => parseCanDriverStyleMessage(m))
|
|
45
|
+
highEngineRPM = canDriverStyle.reduce((a, b) => a + b.totalTimeWithHighRpmAndTorque, 0)
|
|
46
|
+
hardBraking = canDriverStyle.reduce((a, b) => a + b.totalNumberOfHarshBrakes, 0)
|
|
47
|
+
hardAcceleration = canDriverStyle.reduce((a, b) => a + b.totalNumberOfHarshAccelerations, 0)
|
|
48
48
|
} else {
|
|
49
|
-
const highEngineRPMSections = calculateRPMSections(route, d.attributes.highRPM ||
|
|
49
|
+
const highEngineRPMSections = calculateRPMSections(route, d.attributes.highRPM || 1500)
|
|
50
50
|
highEngineRPM = highEngineRPMSections.map(a => a.length > 1
|
|
51
51
|
? a.map((p, index) => index === 0 ? 0 : new Date(p.fixTime).getTime() - new Date(a[index - 1].fixTime).getTime()).reduce((a, b) => a + b, 0)
|
|
52
52
|
: 0).reduce((a, b) => a + b, 0)
|
|
@@ -68,7 +68,7 @@ async function create (from, to, userData, traccar) {
|
|
|
68
68
|
|
|
69
69
|
const allDriversData = (Array.from(driversData.values())).filter(d => d.distance > 0)
|
|
70
70
|
allDriversData.forEach(d => {
|
|
71
|
-
d.score = (d.highEngineRPM + d.hardBraking + d.hardAcceleration + d.hardCornering) / (d.distance / 1000)
|
|
71
|
+
d.score = ((d.highEngineRPM / 60000) + d.hardBraking + d.hardAcceleration + d.hardCornering) / (d.distance / 1000)
|
|
72
72
|
})
|
|
73
73
|
allDriversData.sort((a, b) => (a.score > b.score) ? 1 : -1)
|
|
74
74
|
|
package/src/util/xpert.js
CHANGED
|
@@ -45,11 +45,11 @@ function parseCanDriverStyleMessage (xpertMessage) {
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
function getEndTripMessages (xpertMessages) {
|
|
48
|
-
return xpertMessages.map(xpert => (Array.isArray(xpert) ? xpert.find(
|
|
48
|
+
return xpertMessages.map(xpert => (Array.isArray(xpert) ? xpert.split(';').find(m => m.startsWith('3')) : (xpert.startsWith('3') ? xpert : undefined))).flat().filter(a => a)
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
function getCanDriverStyleMessages (xpertMessages) {
|
|
52
|
-
return xpertMessages.map(xpert =>
|
|
52
|
+
return xpertMessages.map(xpert => Array.isArray(xpert) ? xpert.split(';').find(m => m.startsWith('4')) : (xpert.startsWith('4') ? xpert : undefined)).flat().filter(a => a)
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
exports.parseEndTripMessage = parseEndTripMessage
|