101 lines
2.9 KiB
JavaScript
101 lines
2.9 KiB
JavaScript
const db = require(`../config/dbMysqlConn`);
|
|
|
|
class VhcModels {
|
|
|
|
static STTS_ACTIVE = 1;
|
|
static STTS_INACTIVE = 2;
|
|
|
|
static IN_ORD_YES = 1;
|
|
static IN_ORD_NO = 2;
|
|
|
|
static async getVhcByDeviceId(device_id) {
|
|
return new Promise((resolve, reject) => {
|
|
let params = [];
|
|
let query = 'SELECT';
|
|
query += ' v.id as vid,v.nopol1,v.nopol2,v.nopol3,v.sum_milleage,vd.speed_limit';
|
|
query += ' ,da.fullname as da_name,da.phone as da_phone,da.phone_code as da_phone_code';
|
|
query += ' FROM t_vehicles AS v';
|
|
query += ' INNER JOIN t_vehicles_detail AS vd ON v.id = vd.vid';
|
|
query += ' LEFT JOIN t_drivers AS da ON v.a_did = da.id';
|
|
query += ' WHERE v.dlt is null AND v.status = ? AND v.device_id = ?';
|
|
params.push(VhcModels.STTS_ACTIVE, device_id);
|
|
db.query(query, params, function (err, resp) {
|
|
if (err) {
|
|
reject(err);
|
|
return false;
|
|
}
|
|
resolve(resp);
|
|
return true;
|
|
});
|
|
});
|
|
}
|
|
|
|
static async getVhcById(id) {
|
|
return new Promise((resolve, reject) => {
|
|
let params = [];
|
|
let query = 'SELECT';
|
|
query += ' v.id as vid,v.nopol1,v.nopol2,v.nopol3,v.sum_milleage,vd.speed_limit';
|
|
query += ' ,da.fullname as da_name,da.phone as da_phone,da.phone_code as da_phone_code';
|
|
query += ' ,v.is_in_ord,v.ord_id,v.ord_code,v.ord_ids';
|
|
query += ' FROM t_vehicles AS v';
|
|
query += ' INNER JOIN t_vehicles_detail AS vd ON v.id = vd.vid';
|
|
query += ' LEFT JOIN t_drivers AS da ON v.a_did = da.id';
|
|
// query += ' WHERE v.dlt is null AND v.status = ? AND v.id = ?';
|
|
query += ' WHERE v.dlt is null AND v.id = ?';
|
|
query += ' LIMIT 1';
|
|
params.push(id);
|
|
db.query(query, params, function (err, resp) {
|
|
if (err) {
|
|
reject(err);
|
|
return false;
|
|
}
|
|
resolve(resp);
|
|
return true;
|
|
});
|
|
});
|
|
}
|
|
|
|
static async update(id, data) {
|
|
return new Promise((resolve, reject) => {
|
|
const query = `UPDATE t_vehicles SET ? WHERE id = ?;`;
|
|
db.getConnection(function (err, conn) {
|
|
if (err) {
|
|
conn.release();
|
|
reject(err);
|
|
return false;
|
|
}
|
|
|
|
conn.beginTransaction(async function (err) {
|
|
if (err) {
|
|
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.commit(async function (err) {
|
|
if (err) {
|
|
conn.release();
|
|
reject(err);
|
|
return false;
|
|
}
|
|
conn.release();
|
|
resolve(resp);
|
|
return true;
|
|
});
|
|
});
|
|
});
|
|
|
|
});
|
|
});
|
|
}
|
|
|
|
}
|
|
|
|
module.exports = VhcModels; |