update
This commit is contained in:
45
app.js
45
app.js
@ -109,24 +109,53 @@ 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 });
|
||||
const vhcMilleageBase = vhc[0]?.sum_milleage ?? 0;
|
||||
logDevice.vhc_id = vhc[0]?.vid ?? 0;
|
||||
const newSum = vhcMilleageBase + logDevice.pre_milleage;
|
||||
|
||||
logDevice.sum_milleage = newSum.toFixed(8);
|
||||
logDevice.vhc_milleage = newSum.toFixed(8);
|
||||
|
||||
VhcModels.update(logDevice.vhc_id, {
|
||||
sum_milleage: newSum.toFixed(8),
|
||||
});
|
||||
} else {
|
||||
logDevice.sum_milleage = logDevice.pre_milleage.toFixed(8);
|
||||
}
|
||||
}
|
||||
|
||||
// V1
|
||||
// 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);
|
||||
|
||||
@ -96,10 +96,10 @@ class VhcModels {
|
||||
static async incrementMileage(vhc_id, add_km) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const query = `
|
||||
UPDATE t_vehicles
|
||||
SET sum_milleage = COALESCE(sum_milleage, 0) + ?
|
||||
WHERE id = ? AND dlt IS NULL
|
||||
`;
|
||||
UPDATE t_vehicles
|
||||
SET sum_milleage = COALESCE(sum_milleage, 0) + ?
|
||||
WHERE id = ? AND dlt IS NULL
|
||||
`;
|
||||
db.query(query, [add_km, vhc_id], (err, result) => {
|
||||
if (err) return reject(err);
|
||||
resolve(result);
|
||||
|
||||
Reference in New Issue
Block a user