Saltar al contenido principal

Cómo se calculan los Kms recorridos

Los kilómetros recorridos se calculan a partir del evento que depende del tipo de dispositivo que tengan.

El flujo de la información para el cálculo se puede dividir en primera instancia, en dispositivos DVR o Teltonika, y en kms registrados por placa.

KMs de DVR/TLK

Kilómetros DVR y TLK

Los kilómetros obtenidos de DVRs o Teltonika, se subdividen a su vez dependiendo del dispositivo.

Cuando el evento con el kilometraje llega a la función rules-complete-kilometros se busca si esa unidad ya tiene registrado kilometraje para el día actual en redis (en el hashmap estadoVehiculosDvr) y en ese caso se actualiza el contador. Si aún no tiene registro para el día, se empieza a registrar. A su vez, se actualiza el kilometraje en SQL.

KMs de placa

Kilómetros placa

La función telemetry recibe los eventos directamente desde la placa y obtiene el kilometraje del campo km. Lo que sigue a continuación es lo mismo que para los DVR: se busca si esa unidad ya tiene registrado kilometraje para el día actual en redis (en el hashmap estadoVehiculos) y en ese caso se actualiza el contador. Si aún no tiene registro para el día, se empieza a registrar. A su vez, se actualiza el kilometraje en SQL.

{
"id": "53968",
"msg": "report",
"equipment": "PES8",
"soft_version_8m": "2.5-YPF",
"hard_version_8m": "MULTI",
"serial_8m": "05D9FF383130544257197130",
"soft_version_8s": "1.1",
"serial_8s": "066AFF565151876687092225",
"imei": "",
"iccid": "",
"report": "STATUS",
"modem": "SIMCOM_SIM800L",
"network": "0",
"signal": "0",
"vin": "27.35",
"vbus": "27.37",
"battery": "4.22",
"idvr": "9.00",
"itablet": "0.00",
"date": "26/03/2025",
"time": "16:19:49",
"alarmLeftTurn": "0",
"alarmRightTurn": "0",
"alarmWarningLight": "0",
"alarmIgnition": "1",
"alarmWindShield": "0",
"alarmTamper1": "0",
"alarmTamper2": "0",
"alarmHitch": "1",
"speed": "0.00",
"rpm": "1176.50",
"km": "737929.94",
"moving": "0",
"overSpeed": "0",
"maxOverSpeed": "0.00",
"timeOverSpeed": "0",
"commands_ack": []
}