This commit is contained in:
pringgosutono
2026-03-02 16:25:26 +07:00
parent add661e8c9
commit 69bf7a31e8
2 changed files with 272 additions and 105 deletions

View File

@ -144,7 +144,11 @@ class GpsTracksModels {
let resLogs = undefined
if (Object.keys(logs).length > 0) {
resLogs = await MysqlHelpers.queryTrx(conn, `INSERT INTO t_gps_tracks SET ?;`, [logs])
resLogs = await MysqlHelpers.queryTrx(
conn,
`INSERT INTO t_gps_tracks SET ?;`,
[logs],
)
// console.log("insert t_gps_tracks : " + rltm.device_id)
if (logs.action == "location") {
@ -158,52 +162,63 @@ class GpsTracksModels {
INSERT INTO tracks_${yy}${mm}
SET ?
`,
[logs]
[logs],
)
// console.log("insert tracks_${yy}${mm} : " + rltm.device_id)
}
}
if (rltmLength > 0 && typeof resLogs !== "undefined") rltm.master_id = resLogs.insertId
if (rltmLength > 0 && rltm.latitude !== null && rltm.longitude !== null) {
if (rltmLength > 0 && typeof resLogs !== "undefined")
rltm.master_id = resLogs.insertId
if (
rltmLength > 0 &&
rltm.latitude !== null &&
rltm.longitude !== null
) {
let devices = await MysqlHelpers.queryTrx(
conn,
`SELECT id FROM t_gps_tracks_rltm as rltm WHERE rltm.device_id = ?`,
[rltm.device_id]
[rltm.device_id],
)
if (devices.length > 1)
await MysqlHelpers.queryTrx(conn, `DELETE from t_gps_tracks_rltm WHERE device_id = ?;`, [
rltm.device_id,
])
await MysqlHelpers.queryTrx(
conn,
`DELETE from t_gps_tracks_rltm WHERE device_id = ?;`,
[rltm.device_id],
)
if (rltm.vhc_id != 0) {
let vhcs = await MysqlHelpers.queryTrx(
conn,
`SELECT id FROM t_gps_tracks_rltm as rltm WHERE rltm.vhc_id = ?`,
[rltm.vhc_id]
[rltm.vhc_id],
)
if (vhcs.length > 1)
await MysqlHelpers.queryTrx(conn, `DELETE from t_gps_tracks_rltm WHERE vhc_id = ?;`, [
rltm.vhc_id,
])
await MysqlHelpers.queryTrx(
conn,
`DELETE from t_gps_tracks_rltm WHERE vhc_id = ?;`,
[rltm.vhc_id],
)
}
if (rltm.drv_id != 0) {
let drvs = await MysqlHelpers.queryTrx(
conn,
`SELECT id FROM t_gps_tracks_rltm as rltm WHERE rltm.drv_id = ?`,
[rltm.drv_id]
[rltm.drv_id],
)
if (drvs.length > 1)
await MysqlHelpers.queryTrx(conn, `DELETE from t_gps_tracks_rltm WHERE drv_id = ?;`, [
rltm.drv_id,
])
await MysqlHelpers.queryTrx(
conn,
`DELETE from t_gps_tracks_rltm WHERE drv_id = ?;`,
[rltm.drv_id],
)
}
await MysqlHelpers.queryTrx(
conn,
`INSERT INTO t_gps_tracks_rltm SET ? ON DUPLICATE KEY UPDATE ?;`,
[rltm, rltm]
[rltm, rltm],
)
}
@ -264,7 +279,8 @@ class GpsTracksModels {
static async get2LastDevice(device_id) {
return new Promise((resolve, reject) => {
let params = []
let query = "SELECT * FROM t_gps_tracks WHERE device_id = ? ORDER BY id DESC LIMIT 1"
let query =
"SELECT * FROM t_gps_tracks WHERE device_id = ? ORDER BY id DESC LIMIT 1"
params.push(device_id)
db.query(query, params, function (err, resp) {
if (err) {
@ -294,6 +310,23 @@ class GpsTracksModels {
})
})
}
static async get2LastLocByVhcId(vhc_id) {
return new Promise((resolve, reject) => {
let params = []
// let query = 'SELECT * FROM t_gps_tracks WHERE device_id = ? AND latitude is not null AND longitude != 0 ORDER BY id DESC LIMIT 1';
let query =
'SELECT * FROM t_gps_tracks WHERE action IN ("location","alarm") AND vhc_id = ? AND latitude is not null AND longitude != 0 ORDER BY id DESC LIMIT 1' // kalo gamau ngambil data heartbeat(idling)
params.push(vhc_id)
db.query(query, params, function (err, resp) {
if (err) {
reject(err)
return false
}
resolve(resp)
return true
})
})
}
static async getLastSumMileage(device_id) {
return new Promise((resolve, reject) => {
@ -377,7 +410,12 @@ class GpsTracksModels {
})
}
static async checkSttsEngineBetweenDate(device_id, stts_engine, start, end) {
static async checkSttsEngineBetweenDate(
device_id,
stts_engine,
start,
end,
) {
return new Promise((resolve, reject) => {
let params = []
let query =