From 7d8d6ed2b9d11d907b498a8487a96b8b5810f0b3 Mon Sep 17 00:00:00 2001 From: Pringgosutono Date: Thu, 2 Oct 2025 16:51:45 +0700 Subject: [PATCH] location only geocode --- models/GpsTracksModels.js | 709 ++++++++++++++++++++------------------ 1 file changed, 380 insertions(+), 329 deletions(-) diff --git a/models/GpsTracksModels.js b/models/GpsTracksModels.js index 779e58c..7ad5955 100755 --- a/models/GpsTracksModels.js +++ b/models/GpsTracksModels.js @@ -1,244 +1,281 @@ -const db = require(`../config/dbMysqlConn`); -const MysqlHelpers = require(`../library/LibMysqlHelper`); +const db = require(`../config/dbMysqlConn`) +const MysqlHelpers = require(`../library/LibMysqlHelper`) class GpsTracksModels { - static DEFAULT_COUNTRY_ID = 1; + static DEFAULT_COUNTRY_ID = 1 - static TYPE_ADDR_OSM = 1; + static TYPE_ADDR_OSM = 1 - static STTS_REVERSE_GEO_SC = 1; - static STTS_REVERSE_GEO_NOT = 2; - static STTS_REVERSE_GEO_ER = 3; - static STTS_REVERSE_GEO_LOST = 4; + static STTS_REVERSE_GEO_SC = 1 + static STTS_REVERSE_GEO_NOT = 2 + static STTS_REVERSE_GEO_ER = 3 + static STTS_REVERSE_GEO_LOST = 4 - static STTS_EN_DFT = 0; - static STTS_EN_IDLING = 1; - static STTS_EN_MOVING = 2; - static STTS_EN_STOPING = 3; + static STTS_EN_DFT = 0 + static STTS_EN_IDLING = 1 + static STTS_EN_MOVING = 2 + static STTS_EN_STOPING = 3 - static STTS_IGNITION_DFT = 0; - static STTS_IGNITION_ON = 1; - static STTS_IGNITION_OFF = 2; - static STTS_IGNITION_LOW = 3; - static STTS_IGNITION_HIGH = 4; + static STTS_IGNITION_DFT = 0 + static STTS_IGNITION_ON = 1 + static STTS_IGNITION_OFF = 2 + static STTS_IGNITION_LOW = 3 + static STTS_IGNITION_HIGH = 4 - static STTS_GPS_DFT = 0; // default - static STTS_GPS_ON = 1; - static STTS_GPS_OFF = 2; + static STTS_GPS_DFT = 0 // default + static STTS_GPS_ON = 1 + static STTS_GPS_OFF = 2 // realtime GPS or differential positioning - static STTS_POS_TYPE_GPS_DFT = 0; // default - static STTS_POS_TYPE_GPS_DIFF = 1; - static STTS_POS_TYPE_GPS_RLTM = 2; + static STTS_POS_TYPE_GPS_DFT = 0 // default + static STTS_POS_TYPE_GPS_DIFF = 1 + static STTS_POS_TYPE_GPS_RLTM = 2 // GPS has been positioned or not - static STTS_IS_POS_GPS_DFT = 0; // default - static STTS_IS_POS_GPS_NOT = 1; // not positioning - static STTS_IS_POS_GPS_HAS = 2; // positioning + static STTS_IS_POS_GPS_DFT = 0 // default + static STTS_IS_POS_GPS_NOT = 1 // not positioning + static STTS_IS_POS_GPS_HAS = 2 // positioning // 1=>no signal, 2=>extremely weak signal 3=>very weak signal, 4=>good signal, 5=>strong signal - static STTS_GSM_DFT = 0; // default - static STTS_GSM_NO_SIGNAL = 1; - static STTS_GSM_BAD_SIGNAL = 2; - static STTS_GSM_WEAK_SIGNAL = 3; - static STTS_GSM_GOOD_SIGNAL = 4; - static STTS_GSM_STRONG_SIGNAL = 5; + static STTS_GSM_DFT = 0 // default + static STTS_GSM_NO_SIGNAL = 1 + static STTS_GSM_BAD_SIGNAL = 2 + static STTS_GSM_WEAK_SIGNAL = 3 + static STTS_GSM_GOOD_SIGNAL = 4 + static STTS_GSM_STRONG_SIGNAL = 5 - static STTS_OIL_ELECTRIC_DFT = 0; - static STTS_OIL_ELECTRIC_ON = 1; - static STTS_OIL_ELECTRIC_OFF = 2; + static STTS_OIL_ELECTRIC_DFT = 0 + static STTS_OIL_ELECTRIC_ON = 1 + static STTS_OIL_ELECTRIC_OFF = 2 - static STTS_ALARM_DFT = 0; - static STTS_ALARM_NORMAL = 1; - static STTS_ALARM_SHOCK = 2; - static STTS_ALARM_POWER_CUT = 3; - static STTS_ALARM_LOW_BATTERY = 4; - static STTS_ALARM_SOS = 5; + static STTS_ALARM_DFT = 0 + static STTS_ALARM_NORMAL = 1 + static STTS_ALARM_SHOCK = 2 + static STTS_ALARM_POWER_CUT = 3 + static STTS_ALARM_LOW_BATTERY = 4 + static STTS_ALARM_SOS = 5 - static STTS_CHARGE_DFT = 0; - static STTS_CHARGE_OFF = 1; - static STTS_CHARGE_ON = 2; + static STTS_CHARGE_DFT = 0 + static STTS_CHARGE_OFF = 1 + static STTS_CHARGE_ON = 2 - static STTS_ACC_DFT = 0; - static STTS_ACC_LOW = 1; - static STTS_ACC_HIGH = 2; + static STTS_ACC_DFT = 0 + static STTS_ACC_LOW = 1 + static STTS_ACC_HIGH = 2 - static STTS_VOLT_DFT = 0; - static STTS_VOLT_SHUTDOWN = 1; - static STTS_VOLT_EXTREME_LOW_BATTERY = 2; - static STTS_VOLT_VERY_LOW_BATTERY = 3; - static STTS_VOLT_LOW_BATTERY = 4; - static STTS_VOLT_MEDIUM = 5; - static STTS_VOLT_HIGH = 6; - static STTS_VOLT_VERY_HIGH = 7; + static STTS_VOLT_DFT = 0 + static STTS_VOLT_SHUTDOWN = 1 + static STTS_VOLT_EXTREME_LOW_BATTERY = 2 + static STTS_VOLT_VERY_LOW_BATTERY = 3 + static STTS_VOLT_LOW_BATTERY = 4 + static STTS_VOLT_MEDIUM = 5 + static STTS_VOLT_HIGH = 6 + static STTS_VOLT_VERY_HIGH = 7 - static STTS_SWITCH_DFT = 0; - static STTS_SWITCH_OFF = 1; - static STTS_SWITCH_ON = 2; + static STTS_SWITCH_DFT = 0 + static STTS_SWITCH_OFF = 1 + static STTS_SWITCH_ON = 2 - static STTS_ENTER_ZONE = 1; - static STTS_LEAVE_ZONE = 2; + static STTS_ENTER_ZONE = 1 + static STTS_LEAVE_ZONE = 2 // type source - static SOURCE_GPS_TRACKER = 1; - static SOURCE_SMARTPHONE = 2; + static SOURCE_GPS_TRACKER = 1 + static SOURCE_SMARTPHONE = 2 - static PROTOCOL_SMARTPHONE = "smartphone"; + static PROTOCOL_SMARTPHONE = "smartphone" - static ACT_LOGIN = "login"; - static ACT_HEARTBEAT = "heartbeat"; - static ACT_LOCATION = "location"; - static ACT_OTHER = "other"; + static ACT_LOGIN = "login" + static ACT_HEARTBEAT = "heartbeat" + static ACT_LOCATION = "location" + static ACT_OTHER = "other" static async create2(data) { return new Promise((resolve, reject) => { - const query = `INSERT INTO t_gps_tracks SET ?;`; + const query = `INSERT INTO t_gps_tracks SET ?;` db.getConnection(function (err, conn) { if (err) { - conn.release(); - reject(err); - return false; + conn.release() + reject(err) + return false } conn.beginTransaction(async function (err) { if (err) { - conn.release(); - reject(err); - return false; + conn.release() + reject(err) + return false } conn.query(query, data, function (err, resp) { if (err) { conn.rollback(async function () { - conn.release(); - reject(err.message); - }); - return false; + conn.release() + reject(err.message) + }) + return false } // Number(resp.insertId); conn.commit(async function (err) { if (err) { - conn.release(); - reject(err); - return false; + conn.release() + reject(err) + return false } - conn.release(); - resolve(resp); - return true; - }); - }); - }); - }); - }); + conn.release() + resolve(resp) + return true + }) + }) + }) + }) + }) } static bundleCreate2(logs = {}, rltm = {}) { return new Promise(async (resolve, reject) => { try { - const conn = await MysqlHelpers.createConnection(); - await MysqlHelpers.createTrx(conn); + const conn = await MysqlHelpers.createConnection() + await MysqlHelpers.createTrx(conn) - let rltmLength = Object.keys(rltm).length; - let resLogs = undefined; + let rltmLength = Object.keys(rltm).length + let resLogs = undefined - if (Object.keys(logs).length > 0) resLogs = await MysqlHelpers.queryTrx(conn, `INSERT INTO t_gps_tracks SET ?;`, [logs]); + if (Object.keys(logs).length > 0) + resLogs = await MysqlHelpers.queryTrx(conn, `INSERT INTO t_gps_tracks SET ?;`, [logs]) - if (rltmLength > 0 && typeof resLogs !== "undefined") rltm.master_id = resLogs.insertId; + 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]); - if (devices.length > 1) await MysqlHelpers.queryTrx(conn, `DELETE from t_gps_tracks_rltm WHERE device_id = ?;`, [rltm.device_id]); + let devices = await MysqlHelpers.queryTrx( + conn, + `SELECT id FROM t_gps_tracks_rltm as rltm WHERE 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, + ]) 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]); - if (vhcs.length > 1) await MysqlHelpers.queryTrx(conn, `DELETE from t_gps_tracks_rltm WHERE vhc_id = ?;`, [rltm.vhc_id]); + let vhcs = await MysqlHelpers.queryTrx( + conn, + `SELECT id FROM t_gps_tracks_rltm as rltm WHERE 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, + ]) } 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]); - if (drvs.length > 1) await MysqlHelpers.queryTrx(conn, `DELETE from t_gps_tracks_rltm WHERE drv_id = ?;`, [rltm.drv_id]); + let drvs = await MysqlHelpers.queryTrx( + conn, + `SELECT id FROM t_gps_tracks_rltm as rltm WHERE 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, `INSERT INTO t_gps_tracks_rltm SET ? ON DUPLICATE KEY UPDATE ?;`, [rltm, rltm]); + await MysqlHelpers.queryTrx( + conn, + `INSERT INTO t_gps_tracks_rltm SET ? ON DUPLICATE KEY UPDATE ?;`, + [rltm, rltm] + ) } - await MysqlHelpers.commit(conn); + await MysqlHelpers.commit(conn) resolve({ type: "success", result: resLogs, - }); + }) } catch (err) { - console.log("err"); - reject(err); + console.log("err") + reject(err) } - }); + }) } static async get2() { return new Promise((resolve, reject) => { - let params = []; - let query = "SELECT * FROM t_gps_tracks ORDER BY id DESC LIMIT 1000"; + let params = [] + let query = "SELECT * FROM t_gps_tracks ORDER BY id DESC LIMIT 1000" db.query(query, params, function (err, resp) { if (err) { - reject(err); - return false; + reject(err) + return false } - resolve(resp); - return true; - }); - }); + resolve(resp) + return true + }) + }) } static async get2ForReverseGeo(limit) { return new Promise((resolve, reject) => { - let params = []; - let query = "SELECT * FROM t_gps_tracks WHERE latitude is not null AND longitude is not null AND stts_reverse_geo = ? ORDER BY id ASC LIMIT ?"; - params.push(GpsTracksModels.STTS_REVERSE_GEO_NOT, limit); + let params = [] + let query = ` + SELECT * + FROM t_gps_tracks + WHERE + latitude is not null + AND longitude is not null + AND stts_reverse_geo = ? + and action = 'location' + ORDER BY id ASC + LIMIT ? + ` + params.push(GpsTracksModels.STTS_REVERSE_GEO_NOT, limit) db.query(query, params, function (err, resp) { if (err) { - reject(err); - return false; + reject(err) + return false } - resolve(resp); - return true; - }); - }); + resolve(resp) + return true + }) + }) } 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"; - params.push(device_id); + let params = [] + 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) { - reject(err); - return false; + reject(err) + return false } - resolve(resp); - return true; - }); - }); + resolve(resp) + return true + }) + }) } static async get2LastLocByDeviceId(device_id) { return new Promise((resolve, reject) => { - let params = []; + 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 device_id = ? AND latitude is not null AND longitude != 0 ORDER BY id DESC LIMIT 1'; // kalo gamau ngambil data heartbeat(idling) - params.push(device_id); + let query = + 'SELECT * FROM t_gps_tracks WHERE action IN ("location","alarm") AND device_id = ? AND latitude is not null AND longitude != 0 ORDER BY id DESC LIMIT 1' // kalo gamau ngambil data heartbeat(idling) + params.push(device_id) db.query(query, params, function (err, resp) { if (err) { - reject(err); - return false; + reject(err) + return false } - resolve(resp); - return true; - }); - }); + resolve(resp) + return true + }) + }) } static async getLastSumMileage(device_id) { return new Promise((resolve, reject) => { - let params = []; + let params = [] let query = ` select * @@ -248,301 +285,315 @@ class GpsTracksModels { tv.device_id = "0866833070208837" and tv.dlt is null limit 1 - `; - params.push(device_id); + ` + params.push(device_id) db.query(query, params, function (err, resp) { if (err) { - reject(err); - return false; + reject(err) + return false } - resolve(resp); - return true; - }); - }); + resolve(resp) + return true + }) + }) } static async get2LastLoc(filter = {}) { return new Promise((resolve, reject) => { let params = [], - where = ""; + where = "" if (filter["device_id"]) { - where += " AND device_id = ?"; - params.push(filter["device_id"]); + where += " AND device_id = ?" + params.push(filter["device_id"]) } else if (filter["vhc_id"]) { - where += " AND vhc_id = ?"; - params.push(filter["vhc_id"]); + where += " AND vhc_id = ?" + params.push(filter["vhc_id"]) } else if (filter["drv_id"]) { - where += " AND drv_id = ?"; - params.push(filter["drv_id"]); + where += " AND drv_id = ?" + params.push(filter["drv_id"]) } else { - reject(false); - return false; + reject(false) + return false } - let query = `SELECT * FROM t_gps_tracks WHERE latitude is not null AND longitude != 0 ${where} ORDER BY id DESC LIMIT 1`; + let query = `SELECT * FROM t_gps_tracks WHERE latitude is not null AND longitude != 0 ${where} ORDER BY id DESC LIMIT 1` db.query(query, params, function (err, resp) { if (err) { - reject(err); - return false; + reject(err) + return false } - resolve(resp); - return true; - }); - }); + resolve(resp) + return true + }) + }) } static async getLastLocAndAddrByDid(filter = {}) { return new Promise((resolve, reject) => { let params = [], where = "", - limit = ""; + limit = "" if (typeof filter["did"] !== "undefined") { - where += " AND tr.drv_id = ?"; - params.push(filter["did"]); + where += " AND tr.drv_id = ?" + params.push(filter["did"]) } if (typeof filter["limit"] !== "undefined") { - limit += " LIMIT ?"; - params.push(filter["limit"]); + limit += " LIMIT ?" + params.push(filter["limit"]) } - let query = `SELECT tr.*,tra.state_text,tra.city_text,tra.district_text,tra.village_text,tra.postcode,tra.streets,tra.fulladdress FROM t_gps_tracks as tr LEFT JOIN t_gps_tracks_address as tra ON tr.id = tra.master_id WHERE latitude is not null AND longitude != 0 ${where} ORDER BY id DESC ${limit}`; + let query = `SELECT tr.*,tra.state_text,tra.city_text,tra.district_text,tra.village_text,tra.postcode,tra.streets,tra.fulladdress FROM t_gps_tracks as tr LEFT JOIN t_gps_tracks_address as tra ON tr.id = tra.master_id WHERE latitude is not null AND longitude != 0 ${where} ORDER BY id DESC ${limit}` db.query(query, params, function (err, resp) { if (err) { - reject(err); - return false; + reject(err) + return false } - resolve(resp); - return true; - }); - }); + resolve(resp) + return true + }) + }) } static async checkSttsEngineBetweenDate(device_id, stts_engine, start, end) { return new Promise((resolve, reject) => { - let params = []; - let query = "SELECT * FROM t_gps_tracks WHERE device_id = ? AND stts_engine = ? AND crt BETWEEN ? AND ? ORDER BY id ASC LIMIT 1"; - params.push(device_id, stts_engine, start, end); + let params = [] + let query = + "SELECT * FROM t_gps_tracks WHERE device_id = ? AND stts_engine = ? AND crt BETWEEN ? AND ? ORDER BY id ASC LIMIT 1" + params.push(device_id, stts_engine, start, end) db.query(query, params, function (err, resp) { if (err) { - reject(err); - return false; + reject(err) + return false } - resolve(resp); - return true; - }); - }); + resolve(resp) + return true + }) + }) } static async get2LastHeartbeatOrAlarm(device_id) { return new Promise((resolve, reject) => { - let params = []; - let query = 'SELECT * FROM t_gps_tracks WHERE device_id = ? AND action IN ("heartbeat","alarm") AND stts_gps != 0 AND stts_gsm != 0 ORDER BY id DESC LIMIT 1'; - params.push(device_id); + let params = [] + let query = + 'SELECT * FROM t_gps_tracks WHERE device_id = ? AND action IN ("heartbeat","alarm") AND stts_gps != 0 AND stts_gsm != 0 ORDER BY id DESC LIMIT 1' + params.push(device_id) db.query(query, params, function (err, resp) { if (err) { - reject(err); - return false; + reject(err) + return false } - resolve(resp); - return true; - }); - }); + resolve(resp) + return true + }) + }) } static async getLastHeartbeatToDeterminIdling(device_id, lst_pos_crt, now) { return new Promise((resolve, reject) => { - let params = []; - let query = 'SELECT * FROM t_gps_tracks WHERE device_id = ? AND action IN ("heartbeat") AND stts_gps != 0 AND crt BETWEEN ' + lst_pos_crt + " AND " + now + " ORDER BY id DESC;"; - params.push(device_id); + let params = [] + let query = ` + SELECT * + FROM t_gps_tracks + WHERE + device_id = ? + AND action IN ("heartbeat") + AND stts_gps != 0 + AND crt BETWEEN ${lst_pos_crt} AND ${now} + ORDER BY id DESC; + ` + params.push(device_id) db.query(query, params, function (err, resp) { if (err) { - reject(err); - return false; + reject(err) + return false } - resolve(resp); - return true; - }); - }); + resolve(resp) + return true + }) + }) } static async update2(id, data) { return new Promise((resolve, reject) => { - const query = `UPDATE t_gps_tracks SET ? WHERE id = ?;`; + const query = `UPDATE t_gps_tracks SET ? WHERE id = ?;` db.getConnection(function (err, conn) { if (err) { - conn.release(); - reject(err); - return false; + conn.release() + reject(err) + return false } conn.beginTransaction(async function (err) { if (err) { - conn.release(); - reject(err); - return false; + conn.release() + reject(err) + return false } conn.query(query, [data, id], function (err, resp) { if (err) { conn.rollback(async function () { - conn.release(); - reject(err.message); - }); - return false; + conn.release() + reject(err.message) + }) + return false } conn.commit(async function (err) { if (err) { - conn.release(); - reject(err); - return false; + conn.release() + reject(err) + return false } - conn.release(); - resolve(resp); - return true; - }); - }); - }); - }); - }); + conn.release() + resolve(resp) + return true + }) + }) + }) + }) + }) } static async select2Address(lat = "", lng = "") { return new Promise((resolve, reject) => { - let params = []; - let query = "SELECT * FROM t_gps_tracks_address WHERE stts_reverse_geo = " + GpsTracksModels.STTS_REVERSE_GEO_SC + " AND lat = ? AND lng = ? ORDER BY id DESC LIMIT 1;"; - params.push(lat, lng); + let params = [] + let query = + "SELECT * FROM t_gps_tracks_address WHERE stts_reverse_geo = " + + GpsTracksModels.STTS_REVERSE_GEO_SC + + " AND lat = ? AND lng = ? ORDER BY id DESC LIMIT 1;" + params.push(lat, lng) db.query(query, params, function (err, resp) { if (err) { - reject(err); - return false; + reject(err) + return false } - resolve(resp); - return true; - }); - }); + resolve(resp) + return true + }) + }) } static async create2Address(data) { return new Promise((resolve, reject) => { - const query = `INSERT INTO t_gps_tracks_address SET ?;`; + const query = `INSERT INTO t_gps_tracks_address SET ?;` db.getConnection(function (err, conn) { if (err) { - conn.release(); - reject(err); - return false; + conn.release() + reject(err) + return false } conn.beginTransaction(async function (err) { if (err) { - conn.release(); - reject(err); - return false; + conn.release() + reject(err) + return false } conn.query(query, data, function (err, resp) { if (err) { conn.rollback(async function () { - conn.release(); - reject(err.message); - }); - return false; + conn.release() + reject(err.message) + }) + return false } // Number(resp.insertId); conn.commit(async function (err) { if (err) { - conn.release(); - reject(err); - return false; + conn.release() + reject(err) + return false } - conn.release(); - resolve(resp); - return true; - }); - }); - }); - }); - }); + conn.release() + resolve(resp) + return true + }) + }) + }) + }) + }) } static async create2SpawnZone(data) { return new Promise((resolve, reject) => { - const query = `INSERT INTO t_gps_tracks_spawn SET ?;`; + const query = `INSERT INTO t_gps_tracks_spawn SET ?;` db.getConnection(function (err, conn) { if (err) { - conn.release(); - reject(err); - return false; + conn.release() + reject(err) + return false } conn.beginTransaction(async function (err) { if (err) { - conn.release(); - reject(err); - return false; + conn.release() + reject(err) + return false } conn.query(query, data, function (err, resp) { if (err) { conn.rollback(async function () { - conn.release(); - reject(err.message); - }); - return false; + conn.release() + reject(err.message) + }) + return false } // Number(resp.insertId); conn.commit(async function (err) { if (err) { - conn.release(); - reject(err); - return false; + conn.release() + reject(err) + return false } - conn.release(); - resolve(resp); - return true; - }); - }); - }); - }); - }); + conn.release() + resolve(resp) + return true + }) + }) + }) + }) + }) } static async updt2SpawnZone(data, id) { return new Promise((resolve, reject) => { - const query = `UPDATE t_gps_tracks_spawn SET ? WHERE id = ?;`; + const query = `UPDATE t_gps_tracks_spawn SET ? WHERE id = ?;` db.getConnection(function (err, conn) { if (err) { - conn.release(); - reject(err); - return false; + conn.release() + reject(err) + return false } conn.beginTransaction(async function (err) { if (err) { - conn.release(); - reject(err); - return false; + conn.release() + reject(err) + return false } conn.query(query, [data, id], function (err, resp) { if (err) { conn.rollback(async function () { - conn.release(); - reject(err.message); - }); - return false; + conn.release() + reject(err.message) + }) + return false } // Number(resp.insertId); conn.commit(async function (err) { if (err) { - conn.release(); - reject(err); - return false; + conn.release() + reject(err) + return false } - conn.release(); - resolve(resp); - return true; - }); - }); - }); - }); - }); + conn.release() + resolve(resp) + return true + }) + }) + }) + }) + }) } static listSpawnZone(filter = {}) { @@ -553,45 +604,45 @@ class GpsTracksModels { join = "", order_by = "", group_by = "", - limit = ""; + limit = "" if (filter["zone_id"]) { - where += " AND spawn.zone_id = ?"; - params.push(filter["zone_id"]); + where += " AND spawn.zone_id = ?" + params.push(filter["zone_id"]) } if (filter["ord_id"]) { - where += " AND spawn.ord_id = ?"; - params.push(filter["ord_id"]); + where += " AND spawn.ord_id = ?" + params.push(filter["ord_id"]) } if (filter["ord_pck_drop_id"]) { - where += " AND spawn.ord_pck_drop_id = ?"; - params.push(filter["ord_pck_drop_id"]); + where += " AND spawn.ord_pck_drop_id = ?" + params.push(filter["ord_pck_drop_id"]) } if (filter["drv_id"]) { - where += " AND spawn.drv_id = ?"; - params.push(filter["drv_id"]); + where += " AND spawn.drv_id = ?" + params.push(filter["drv_id"]) } if (filter["vhc_id"]) { - where += " AND spawn.vhc_id = ?"; - params.push(filter["vhc_id"]); + where += " AND spawn.vhc_id = ?" + params.push(filter["vhc_id"]) } if (filter["source"]) { - where += " AND spawn.source = ?"; - params.push(filter["source"]); + where += " AND spawn.source = ?" + params.push(filter["source"]) } if (typeof filter["leave_at_d"] != undefined) { - where += " AND spawn.leave_at_d = ?"; - params.push(filter["leave_at_d"]); + where += " AND spawn.leave_at_d = ?" + params.push(filter["leave_at_d"]) } if (filter["group_by"]) { - group_by = filter["group_by"]; + group_by = filter["group_by"] } if (filter["order_by"]) { - order_by = filter["order_by"]; + order_by = filter["order_by"] } if (filter["limit"]) { - limit = " LIMIT " + filter["limit"]; + limit = " LIMIT " + filter["limit"] } let query = `SELECT @@ -604,17 +655,17 @@ class GpsTracksModels { ${group_by} ${order_by} ${limit} - ;`; + ;` db.query(query, params, function (err, resp) { if (err) { - reject(err); - return false; + reject(err) + return false } - resolve(resp); - return true; - }); - }); + resolve(resp) + return true + }) + }) } } -module.exports = GpsTracksModels; +module.exports = GpsTracksModels