---
schema: "hl-changelog/v2"
ticket: "5744"
title: "改派后订单 vehicle_control_status 卡 PROCESSING 不推进 DONE（五层根因修复）"
consumer: "admin"
author: "wx"
change_type: "修改接口"
backend_status: "deployed"
gateway_status: "verified"
frontend_status: "not_required"
frontend_owner: ""
frontend_ref: ""
target_release: ""
verified_at: ""
updated_at: "2026-08-09"
base: "dev-v3"
generated: "2026-08-09T16:20:00+08:00"
---

# 08_5744_改派后订单vehicle_control_status卡PROCESSING修复-修改接口-管理后台

- **date**: 2026-08-09
- **ticket**: 5744
- **change_type**: 修改接口
- **service**: hl-fleet-service, hl-order-service-v3
- **frontend_status**: not_required
- **status_note**: 修复改派（含接续/按天改派）后订单 vehicle_control_status 卡 PROCESSING 不回写 DONE 的问题（实证 26-6436）。五层修复全部为 fleet→order 快照回写链路的行为修正，前端无改动项；订单流程条由后端回写自然推进。## 变更接口或验证证据

### 接口契约

**无契约变更**：POST /admin/fleet/assignments/:assignmentId/change、/:assignmentId/confirm、/:assignmentId/driver-confirmation、/requirements/:requirementId/confirm 的请求/响应字段、错误码均不变；internal 新增补偿端点 POST /internal/fleet/jobs/vehicle-assignment-snapshot/refinalize（运维补偿用，不影响对外契约）。

### 验证证据

- **根因（五层，代码级实证 26-6436 全程行+改派）**：
  1. `isFinalizedDispatchPlanTopologyRows` 全程槽（serviceDate=null 单行覆盖全程）逐日覆盖检查误判 → HOLD 确认/改派确认的 finalPlan 事件不发布（直派无条件发布故正常）；
  2. 改派生成的全程行携带非空 assignment_group_id，快照工厂 isFullTripRow 要求 groupId 为空 → 快照按逐日拓扑校验失败，confirm 回滚；
  3. order 侧最终确认 fence 占用（582092，暂时性）被快照投递按业务错误隔离而非重试；
  4. 隔离事件计入前驱阻塞 → 后续 revision 永久 PENDING；
  5. order 侧未初始化（contract_version 为空）强绑 revision=1，fleet 重发更高 revision 永远冲突。
- **修复**：#5745/#5747/#5748/#5749/#5753 五 PR + 追加验收 #5761/#5763（混合拓扑按槽位分桶校验+nullsFirst 排序；当前代身份排除同槽被替换的 canceled 旧行），fleet 4 处 + order 1 处 + 补偿端点；
- **测试**：AssignmentServiceTest 408/408（含 canceled 旧全程行回归）、FactoryTest 14/14（含混合拓扑/逐日槽缺天）、GenerationServiceTest 15/15、OutboxSenderTest 26/26、OutboxMapperTest 13/13、order DailyVehicleAssignmentSnapshotServiceTest 17/17；fleet 全量 verify 3313 tests 失败项全部归账（ReleaseEMixedBinaryHarnessTest 2F + ReleaseEOccupancyMysql8033RecoveryTest 10E 为既有环境类基线）；
- **部署自验（TEST 实单 26-6436 全链）**：change(HOLD)→driver-confirmation→confirm 全部成功；快照 rev=5 生成；fence 占用期间投递重试（retry_count=6, HTTP_582092，非隔离）；fence 过期后自动投递 SUCCESS；**order_main.vehicle_control_status PROCESSING→DONE、order_vehicle_requirement.status=DONE、contract=DAILY_V3 rev=6**；探针 4/4 PASS（evidence/5744/gateway-probe-output.txt）。追加验收：带 groupId 全程行/逐日行混合拓扑 confirm 正常（单测+TEST 实链原子确认 rev=6 投递 DONE）；直派全程行（groupId=null）与纯逐日回归保持。

## 前端交接

无。流程条「配车·处理中→下一步」由后端回写驱动，前端无需改动。
