update
This commit is contained in:
59
models/OrderStatusModels.js
Executable file
59
models/OrderStatusModels.js
Executable 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,
|
||||
});
|
||||
});
|
||||
});
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user