物流管理:增加订单号,完善搜索功能 #5
|
|
@ -601,29 +601,36 @@ export class LogisticsService {
|
||||||
const {
|
const {
|
||||||
pageSize = 10,
|
pageSize = 10,
|
||||||
current = 1,
|
current = 1,
|
||||||
primary_tracking_number,
|
return_tracking_number,
|
||||||
stockPointId,
|
stockPointId,
|
||||||
|
externalOrderId,
|
||||||
} = param;
|
} = param;
|
||||||
|
|
||||||
const offset = pageSize * (current - 1);
|
const offset = pageSize * (current - 1);
|
||||||
const values: any[] = [];
|
const values: any[] = [];
|
||||||
let whereClause = 'WHERE 1=1';
|
let whereClause = 'WHERE 1=1';
|
||||||
|
|
||||||
if (primary_tracking_number) {
|
if (return_tracking_number) {
|
||||||
whereClause += ' AND s.primary_tracking_number LIKE ?';
|
whereClause += ' AND s.return_tracking_number LIKE ?';
|
||||||
values.push(`%${primary_tracking_number}%`);
|
values.push(`%${return_tracking_number}%`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (stockPointId) {
|
if (stockPointId) {
|
||||||
whereClause += ' AND os.stockPointId = ?';
|
whereClause += ' AND sp.id = ?';
|
||||||
values.push(stockPointId);
|
values.push(stockPointId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// todo,增加订单号搜索
|
||||||
|
if (externalOrderId) {
|
||||||
|
whereClause += ' AND o.externalOrderId = ?';
|
||||||
|
values.push(externalOrderId);
|
||||||
|
}
|
||||||
|
|
||||||
const sql = `
|
const sql = `
|
||||||
SELECT s.*, sp.name
|
SELECT s.*, sp.name, o.externalOrderId
|
||||||
FROM shipment s
|
FROM shipment s
|
||||||
LEFT JOIN order_shipment os ON s.id = os.shipment_id
|
LEFT JOIN \`order\` o ON s.order_id = o.id
|
||||||
LEFT JOIN stock_point sp ON os.stockPointId = sp.id
|
LEFT JOIN stock_point sp ON s.stock_point_id = sp.id
|
||||||
${whereClause}
|
${whereClause}
|
||||||
ORDER BY s.createdAt DESC
|
ORDER BY s.createdAt DESC
|
||||||
LIMIT ?, ?
|
LIMIT ?, ?
|
||||||
|
|
@ -632,12 +639,12 @@ export class LogisticsService {
|
||||||
values.push(offset, Number(pageSize));
|
values.push(offset, Number(pageSize));
|
||||||
|
|
||||||
const items = await this.serviceModel.query(sql, values);
|
const items = await this.serviceModel.query(sql, values);
|
||||||
|
|
||||||
// 单独计算总数
|
// 单独计算总数
|
||||||
const countSql = `
|
const countSql = `
|
||||||
SELECT COUNT(DISTINCT s.id) as total
|
SELECT COUNT(DISTINCT s.id) as total
|
||||||
FROM shipment s
|
FROM shipment s
|
||||||
LEFT JOIN order_shipment os ON s.id = os.shipment_id
|
LEFT JOIN \`order\` o ON s.order_id = o.id
|
||||||
|
LEFT JOIN stock_point sp ON s.stock_point_id = sp.id
|
||||||
${whereClause}
|
${whereClause}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue