fix: count deliveries awaiting customer signature
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
shishengliang
2026-09-20 17:12:03 +08:00
parent 61406497cc
commit 96b64a7872
2 changed files with 4 additions and 3 deletions
@@ -145,9 +145,9 @@ test('replacement trips come exclusively from linked delivery records', () => {
assert.doesNotMatch(FLOW_STATS_SQL, /FROM vehicle_replacement|dv\.delivery_time|r\.arrival_time|vr\.replace_time/); assert.doesNotMatch(FLOW_STATS_SQL, /FROM vehicle_replacement|dv\.delivery_time|r\.arrival_time|vr\.replace_time/);
}); });
test('completed delivery and replacement trips use vehicle status and exclude suspended subjects', () => { test('delivery and replacement trips include awaiting customer signature and exclude suspended subjects', () => {
const [deliveries, returns] = FLOW_STATS_SQL.split('UNION ALL'); const [deliveries, returns] = FLOW_STATS_SQL.split('UNION ALL');
assert.ok(deliveries.includes('AND dv.delivery_status IN (2,3,20)')); assert.ok(deliveries.includes('AND dv.delivery_status IN (2,3,5,20)'));
assert.ok(deliveries.includes('AND (dts.status IS NULL OR dts.status <> 10)')); assert.ok(deliveries.includes('AND (dts.status IS NULL OR dts.status <> 10)'));
assert.doesNotMatch(deliveries, /dts\.status\s*(?:=|IN)|dv\.delivery_status IN \(2,3,5\)/); assert.doesNotMatch(deliveries, /dts\.status\s*(?:=|IN)|dv\.delivery_status IN \(2,3,5\)/);
assert.ok(returns.includes('AND r.status IN (2,3,5)')); assert.ok(returns.includes('AND r.status IN (2,3,5)'));
+2 -1
View File
@@ -239,7 +239,8 @@ export const FLOW_STATS_SQL = `
WHERE dv.del_flag = '0' WHERE dv.del_flag = '0'
AND dv.vehicle_id IS NOT NULL AND dv.vehicle_id IS NOT NULL
AND dv.delivery_completion_processed_time IS NOT NULL AND dv.delivery_completion_processed_time IS NOT NULL
AND dv.delivery_status IN (2,3,20) -- 待客户签章也计入交车闭环,日期仍按运维签章时间归属。
AND dv.delivery_status IN (2,3,5,20)
AND (dts.status IS NULL OR dts.status <> 10) AND (dts.status IS NULL OR dts.status <> 10)
AND dv.delivery_completion_processed_time >= ? AND dv.delivery_completion_processed_time >= ?
AND dv.delivery_completion_processed_time < DATE_ADD(?, INTERVAL 1 DAY) AND dv.delivery_completion_processed_time < DATE_ADD(?, INTERVAL 1 DAY)