所有检测均成功
changelog-filename-gate / validate (push) Successful in 2s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
59 行
3.2 KiB
Markdown
59 行
3.2 KiB
Markdown
---
|
||
schema: "hl-changelog/v2"
|
||
ticket: "5899"
|
||
title: "修复改订单人数后车务未重走配车——换版后自动重新盖章抵消作废定稿"
|
||
consumer: "admin"
|
||
change_type: "修复"
|
||
author: "wx(GIT)"
|
||
backend_status: "deployed"
|
||
gateway_status: "not_required"
|
||
frontend_status: "not_required"
|
||
frontend_owner: ""
|
||
frontend_ref: ""
|
||
target_release: ""
|
||
verified_at: ""
|
||
status_note: "后端已修复并部署测试服,API 实测通过。修改订单人数/车型等(服务日期窗不变)的换版后,车务看板正确回到「待派车」,订单侧停留在「待配」,不再被自动拉回「配车完成」;车务重新确认后订单正常推进。改行程天数/改出发日期不受影响。"
|
||
updated_at: "2026-08-12"
|
||
base: "dev-v3"
|
||
---
|
||
|
||
# 修复:改订单人数后车务未重走配车——换版后自动重新盖章抵消作废定稿(#5899)
|
||
|
||
> **服务**: hl-fleet-service
|
||
> **PR**: #5903(已合并 dev-v3 并部署测试服)
|
||
> **日期**: 2026-08-12
|
||
> **背景**: 订单修改人数后,订单侧短暂显示「待配」又立刻回到「配车已完成」,车务侧看板没有重走配车流程,仍保持「配车完成」,待派车 tab 无此单。
|
||
|
||
---
|
||
|
||
## 修复内容(对前端透明,无接口契约变化)
|
||
|
||
**根因**:`AssignmentService.expandFromRequirementInTransaction` 换版时同事务内先后执行两个互相矛盾的动作:
|
||
|
||
1. `invalidateDispatchPlanForMigratedRows`(#5851)换版平移后作废定稿——清 `dispatch_plan_finalized`/`dispatch_plan_generation`,意图让车务重走配车。
|
||
2. `publishDailySnapshotIfComplete`(#5810)紧接着发现「行都 assigned 且无 finalized」→ 走 `markDispatchPlanGeneration` **自动重新盖章**(finalized=1、归属=新需求)→ 发 `DailyVehicleSnapshotChangedEvent.finalPlan` → 订单被拉回 `VEHICLE_DONE`。
|
||
|
||
**修复**:`publishDailySnapshotIfComplete` 检测到归属旧需求的陈旧定稿行时(`hasStaleFinalizedPlanRows` 命中)直接返回,不自动盖章/发 finalPlan。车务 confirm 时归属被重新盖成当前需求,守卫自然放行,闭环保留。
|
||
|
||
**影响范围**:仅服务日期窗不变的换版(改人数/车型/座位)。改行程天数/改出发日期时日期校验本就返回 false,不误触发。
|
||
|
||
## 行为变化
|
||
|
||
| 场景 | 旧 | 新 |
|
||
|---|---|---|
|
||
| 改人数后(服务窗不变) | ❌ 看板停留「配车完成」,订单误拉回 DONE,车务没机会重走配车 | ✅ 看板回到「待派车」,订单停留「待配」,等车务重新确认 |
|
||
| 车务重新确认 | ✅ 正常盖章并推进订单 | ✅ 不变(守卫放行) |
|
||
| 改行程天数/改出发日期 | ✅ 正常 | ✅ 不变 |
|
||
|
||
## 验证证据(测试服 API 实测,订单 2086270141158346754)
|
||
|
||
修改订单人数(10→11)后实测:
|
||
|
||
- 需求换版 v4,`status=PENDING`(不再自动拉回 DONE)
|
||
- fleet 派单行 `dispatch_plan_finalized=0`、`plan_finalized_requirement_id` 保留旧 v3(归属证据)
|
||
- 车务看板卡片:`finalizedByFleet=False`、`staleFinalizedPlan=True` → 「待派车」tab
|
||
- 订单侧 VEHICLE:`PROCESSING 待配 | 配车待配`(不再误显示「配车已完成」)
|
||
|
||
后端 PR #5903 已合并 dev-v3 并部署测试服,fleet-service 健康。前端无改动,无需联调。
|
||
|