This commit is contained in:
meusinfirmary
2025-06-17 10:39:22 +09:00
parent 4f5e9613e0
commit f4ce94cab9
5 changed files with 329 additions and 128 deletions

59
models/OrderStatusModels.js Executable file
View File

@ -0,0 +1,59 @@
const db = require(`../config/dbMysqlConn`);
const OrderStatusModels = (module.exports = {
GetList: async function () {
return new Promise((resolve, reject) => {
const query = `
SELECT
tv.id,
tv.name,
tv.is_in_ord,
tv.ord_id,
tv.ord_code,
tv.device_id,
tz.boundary_latlngs AS pck_latlng,
tz.boundary_type AS pck_type,
tz.boundary_radius AS pck_radius,
tz2.boundary_latlngs AS drp_latlng,
tz2.boundary_type AS drp_type,
tz2.boundary_radius AS drp_radius,
to2.status,
tgt.latitude,
tgt.longitude,
tgt.crt_format
FROM
t_vehicles tv
LEFT JOIN t_orders to2 ON to2.code = tv.ord_code
INNER JOIN (
SELECT tg1.device_id, tg1.latitude, tg1.longitude, tg1.crt_format
FROM t_gps_tracks tg1
INNER JOIN (
SELECT device_id, MAX(crt_format) AS max_crt
FROM t_gps_tracks
WHERE action = 'location'
GROUP BY device_id
) tg2 ON tg1.device_id = tg2.device_id AND tg1.crt_format = tg2.max_crt
WHERE tg1.action = 'location'
) tgt ON tgt.device_id = tv.device_id
LEFT JOIN t_orders_pck_drop topd ON topd.ord_code = tv.ord_code
LEFT JOIN t_zones tz ON tz.id = topd.pck_id
LEFT JOIN t_zones tz2 ON tz2.id = topd.drop_id
WHERE
tv.is_in_ord = 1
AND tv.ord_id != 0
AND tv.ord_code IS NOT NULL
ORDER BY tgt.crt_format DESC;
`;
db.query(query, (err, result) => {
if (err) {
return reject(err);
}
resolve({
rowCount: result.length,
rows: result,
});
});
});
},
});

View File

@ -1,121 +1,119 @@
const db = require(`../config/dbMysqlConn`);
class UsersModels {
static ROLE_SU = 1; // unused
static ROLE_SUPERADMIN = 7;
static ROLE_ADMIN = 2;
static ROLE_VENDOR = 8;
static ROLE_CHECKER = 9;
static ROLE_USER = 3; // unused
static ROLE_CLIENT_ADMIN = 4;
static ROLE_CLIENT_STAFF = 5; // unused
static ROLE_CLIENT_USER = 6; // unused
static ROLE_SPECIAL_TRACKING = 10;
static ROLE_FINANCE = 11;
static ROLE_SU = 1; // unused
static ROLE_SUPERADMIN = 7;
static ROLE_ADMIN = 2;
static ROLE_VENDOR = 8;
static ROLE_CHECKER = 9;
static ROLE_USER = 3; // unused
static ROLE_CLIENT_ADMIN = 4;
static ROLE_CLIENT_STAFF = 5; // unused
static ROLE_CLIENT_USER = 6; // unused
static ROLE_SPECIAL_TRACKING = 10;
static ROLE_FINANCE = 11;
static STATUS_ACTIVE = 1;
static STATUS_NOT_ACTIVE = 2;
static STATUS_SUSPEND = 3;
static STATUS_ACTIVE = 1;
static STATUS_NOT_ACTIVE = 2;
static STATUS_SUSPEND = 3;
static CHK_TYPE_PICKUP = 1;
static CHK_TYPE_DROP = 2;
static CHK_TYPE_PICKUP = 1;
static CHK_TYPE_DROP = 2;
static DEFAULT_UID = 1; // swanusa account
static DEFAULT_UID = 1; // swanusa account
static DEFAULT_PHONE_CODE = 62;
static DEFAULT_PHONE_CODE = 62;
static async all() {
return new Promise((resolve, reject) => {
const query = `SELECT * FROM t_users;`;
db.query(query, (err, results) => {
if (err) {
reject(err);
return false;
}
resolve(results);
});
});
}
static async all() {
return new Promise((resolve, reject) => {
const query = `SELECT * FROM t_users;`;
db.query(query, (err, results) => {
if (err) {
reject(err);
return false;
}
resolve(results);
});
});
}
static async getUsersActiveByRole(role) {
return new Promise((resolve, reject) => {
const query = `SELECT * FROM t_users WHERE dlt is null AND status = ${UsersModels.STATUS_ACTIVE} AND role = ?;`;
db.query(query, [role], (err, results) => {
if (err) {
reject(err);
return false;
}
resolve(results);
});
});
}
static async getUsersActiveByRole(role) {
return new Promise((resolve, reject) => {
const query = `SELECT * FROM t_users WHERE dlt is null AND status = ${UsersModels.STATUS_ACTIVE} AND role = ?;`;
db.query(query, [role], (err, results) => {
if (err) {
reject(err);
return false;
}
resolve(results);
});
});
}
static async find(id) {
return new Promise((resolve, reject) => {
const query = `SELECT * FROM t_users WHERE id = ? LIMIT 1;`;
db.query(query, [id], (err, results) => {
if (err) {
reject(err);
return false;
}
resolve(results);
});
});
}
static async find(id) {
return new Promise((resolve, reject) => {
const query = `SELECT * FROM t_users WHERE id = ? LIMIT 1;`;
db.query(query, [id], (err, results) => {
if (err) {
reject(err);
return false;
}
resolve(results);
});
});
}
static async findEmail(email) {
return new Promise((resolve, reject) => {
const query = `SELECT * FROM t_users WHERE email = ? LIMIT 1;`;
db.query(query, [email], (err, results) => {
if (err) {
reject(err);
return false;
}
resolve(results);
});
});
}
static async findEmail(email) {
return new Promise((resolve, reject) => {
const query = `SELECT * FROM t_users WHERE email = ? LIMIT 1;`;
db.query(query, [email], (err, results) => {
if (err) {
reject(err);
return false;
}
resolve(results);
});
});
}
static async create(data) {
return new Promise((resolve, reject) => {
const query = `INSERT INTO t_users SET ?;`;
db.query(query, data, (err, results) => {
if (err) {
reject(err);
return false;
}
resolve(results);
});
});
}
static async create(data) {
return new Promise((resolve, reject) => {
const query = `INSERT INTO t_users SET ?;`;
db.query(query, data, (err, results) => {
if (err) {
reject(err);
return false;
}
resolve(results);
});
});
}
static async update(data, id) {
return new Promise((resolve, reject) => {
const query = `UPDATE t_users SET ? WHERE id = ?;`;
db.query(query, [data, id], (err, results) => {
if (err) {
reject(err);
return false;
}
resolve(results);
});
});
}
static async delete(id) {
return new Promise((resolve, reject) => {
const query = `DELETE FROM t_users WHERE id = ?;`;
db.query(query, [id], (err, results) => {
if (err) {
reject(err);
return false;
}
resolve(results);
});
});
}
static async update(data, id) {
return new Promise((resolve, reject) => {
const query = `UPDATE t_users SET ? WHERE id = ?;`;
db.query(query, [data, id], (err, results) => {
if (err) {
reject(err);
return false;
}
resolve(results);
});
});
}
static async delete(id) {
return new Promise((resolve, reject) => {
const query = `DELETE FROM t_users WHERE id = ?;`;
db.query(query, [id], (err, results) => {
if (err) {
reject(err);
return false;
}
resolve(results);
});
});
}
}
module.exports = UsersModels;
module.exports = UsersModels;