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 ==================== | 		// ================= UPDATE SUM MILEAGE DARI t_vehicle ==================== | ||||||
| 		if (logDevice.latitude != null && logDevice.longitude != null && lastTrack.length > 0) { | 		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 = LibHelper.haversineGreatCircleDistance(lastTrack[0].latitude, lastTrack[0].longitude, logDevice.latitude, logDevice.longitude, LibHelper.EARTH_RADIUS_KM); | ||||||
|  |  | ||||||
| 			const distance_km = LibHelper.kmToKm(distance, 100000000); | 			const distance_km = LibHelper.kmToKm(distance, 100000000); | ||||||
|  |  | ||||||
| 			if (distance_km >= 3) { | 			if (distance_km >= 3) { | ||||||
| 				GpsTracksModels.bundleCreate2(logDevice, logDevice); | 				GpsTracksModels.bundleCreate2(logDevice, logDevice); | ||||||
| 				return false; | 				return false; | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
| 			logDevice.pre_milleage = distance_km; | 			logDevice.pre_milleage = distance_km; | ||||||
| 			logDevice.sum_milleage = (lastTrack[0].sum_milleage + logDevice.pre_milleage).toFixed(8); |  | ||||||
| 			if (vhc.length > 0) { | 			if (vhc.length > 0) { | ||||||
| 				logDevice.vhc_id = vhc[0] ? vhc[0].vid : 0; | 				const vhcMilleageBase = vhc[0]?.sum_milleage ?? 0; | ||||||
| 				if (lastTrack[0].vhc_id == logDevice.vhc_id) { | 				logDevice.vhc_id = vhc[0]?.vid ?? 0; | ||||||
| 					logDevice.vhc_milleage = (lastTrack[0].vhc_milleage + logDevice.pre_milleage).toFixed(8); | 				const newSum = vhcMilleageBase + logDevice.pre_milleage; | ||||||
| 				} else { |  | ||||||
| 					logDevice.vhc_milleage = (vhc[0] ? vhc[0].sum_milleage : 0 + logDevice.pre_milleage).toFixed(8); | 				logDevice.sum_milleage = newSum.toFixed(8); | ||||||
| 				} | 				logDevice.vhc_milleage = newSum.toFixed(8); | ||||||
| 				VhcModels.update(vhc[0] ? vhc[0].vid : 0, { sum_milleage: logDevice.vhc_milleage }); |  | ||||||
|  | 				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) { | 		// 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 = LibHelper.haversineGreatCircleDistance(lastTrack[0].latitude, lastTrack[0].longitude, logDevice.latitude, logDevice.longitude, LibHelper.EARTH_RADIUS_KM); | ||||||
| 		// 	const distance_km = LibHelper.kmToKm(distance, 100000000); | 		// 	const distance_km = LibHelper.kmToKm(distance, 100000000); | ||||||
|  | |||||||
| @ -96,10 +96,10 @@ class VhcModels { | |||||||
| 	static async incrementMileage(vhc_id, add_km) { | 	static async incrementMileage(vhc_id, add_km) { | ||||||
| 		return new Promise((resolve, reject) => { | 		return new Promise((resolve, reject) => { | ||||||
| 			const query = ` | 			const query = ` | ||||||
|         UPDATE t_vehicles | 				UPDATE t_vehicles | ||||||
|         SET sum_milleage = COALESCE(sum_milleage, 0) + ? | 				SET sum_milleage = COALESCE(sum_milleage, 0) + ? | ||||||
|         WHERE id = ? AND dlt IS NULL | 				WHERE id = ? AND dlt IS NULL | ||||||
|       `; | 			`; | ||||||
| 			db.query(query, [add_km, vhc_id], (err, result) => { | 			db.query(query, [add_km, vhc_id], (err, result) => { | ||||||
| 				if (err) return reject(err); | 				if (err) return reject(err); | ||||||
| 				resolve(result); | 				resolve(result); | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 meusinfirmary
					meusinfirmary