This commit is contained in:
meusinfirmary
2025-07-01 17:24:29 +07:00
parent d39def8dfa
commit 4a582f4889

50
app.js
View File

@ -107,26 +107,6 @@ async function commitMessage(now, logDevice) {
}
// ================= UPDATE SUM MILEAGE DARI t_vehicle ====================
// if (logDevice.latitude != null && logDevice.longitude != null && lastTrack.length > 0) {
// const distance = LibHelper.haversineGreatCircleDistance(lastTrack[0].latitude, lastTrack[0].longitude, logDevice.latitude, logDevice.longitude, LibHelper.EARTH_RADIUS_KM);
// const distance_km = LibHelper.kmToKm(distance, 100000000);
// if (distance_km >= 3) {
// GpsTracksModels.bundleCreate2(logDevice, logDevice);
// return false;
// }
// logDevice.pre_milleage = distance_km;
// logDevice.sum_milleage = (lastTrack[0].sum_milleage + logDevice.pre_milleage).toFixed(8);
// if (vhc.length > 0) {
// logDevice.vhc_id = vhc[0] ? vhc[0].vid : 0;
// if (lastTrack[0].vhc_id == logDevice.vhc_id) {
// logDevice.vhc_milleage = (lastTrack[0].vhc_milleage + logDevice.pre_milleage).toFixed(8);
// } else {
// logDevice.vhc_milleage = (vhc[0] ? vhc[0].sum_milleage : 0 + logDevice.pre_milleage).toFixed(8);
// }
// VhcModels.update(vhc[0] ? vhc[0].vid : 0, { sum_milleage: logDevice.vhc_milleage });
// }
// }
if (logDevice.latitude != null && logDevice.longitude != null && lastTrack.length > 0) {
const distance = LibHelper.haversineGreatCircleDistance(lastTrack[0].latitude, lastTrack[0].longitude, logDevice.latitude, logDevice.longitude, LibHelper.EARTH_RADIUS_KM);
const distance_km = LibHelper.kmToKm(distance, 100000000);
@ -138,12 +118,32 @@ async function commitMessage(now, logDevice) {
logDevice.pre_milleage = distance_km;
logDevice.sum_milleage = (lastTrack[0].sum_milleage + logDevice.pre_milleage).toFixed(8);
if (vhc.length > 0) {
logDevice.vhc_id = vhc[0].vid;
const increment = parseFloat(logDevice.pre_milleage || 0);
logDevice.vhc_id = vhc[0] ? vhc[0].vid : 0;
if (lastTrack[0].vhc_id == logDevice.vhc_id) {
logDevice.vhc_milleage = (lastTrack[0].vhc_milleage + logDevice.pre_milleage).toFixed(8);
} else {
logDevice.vhc_milleage = (vhc[0] ? vhc[0].sum_milleage : 0 + logDevice.pre_milleage).toFixed(8);
}
VhcModels.update(vhc[0] ? vhc[0].vid : 0, { sum_milleage: logDevice.vhc_milleage });
}
}
// if (logDevice.latitude != null && logDevice.longitude != null && lastTrack.length > 0) {
// const distance = LibHelper.haversineGreatCircleDistance(lastTrack[0].latitude, lastTrack[0].longitude, logDevice.latitude, logDevice.longitude, LibHelper.EARTH_RADIUS_KM);
// const distance_km = LibHelper.kmToKm(distance, 100000000);
await VhcModels.incrementMileage(vhc[0].vid, increment);
}
}
// if (distance_km >= 3) {
// GpsTracksModels.bundleCreate2(logDevice, logDevice);
// return false;
// }
// logDevice.pre_milleage = distance_km;
// logDevice.sum_milleage = (lastTrack[0].sum_milleage + logDevice.pre_milleage).toFixed(8);
// if (vhc.length > 0) {
// logDevice.vhc_id = vhc[0].vid;
// const increment = parseFloat(logDevice.pre_milleage || 0);
// await VhcModels.incrementMileage(vhc[0].vid, increment);
// }
// }
if (logDevice.latitude != null && logDevice.longitude != null) {
const currTrack = await GpsTracksModels.bundleCreate2(logDevice, logDevice);