diff --git a/src/server/routes/mileage/trend.ts b/src/server/routes/mileage/trend.ts index dde16ab..b757fc0 100644 --- a/src/server/routes/mileage/trend.ts +++ b/src/server/routes/mileage/trend.ts @@ -19,8 +19,10 @@ app.get('/', async (c) => { if (plates.length === 0) return c.json([]); } + // 单车日里程负值视为脏数据(里程表回滚 / 换 GPS 设备),不纳入统计 let sql = ` - SELECT DATE_FORMAT(stat_date, '%m-%d') as date, SUM(daily_km) as mileage + SELECT DATE_FORMAT(stat_date, '%m-%d') as date, + SUM(IF(daily_km < 0, 0, daily_km)) as mileage FROM v_vehicle_daily_stats WHERE stat_date >= DATE_SUB(CURDATE(), INTERVAL ? DAY) AND stat_date < CURDATE() `;