docs(changelog): 改订单人数复核确认无法闭环修复(#5910)
所有检测均成功
changelog-filename-gate / validate (push) Successful in 2s
所有检测均成功
changelog-filename-gate / validate (push) Successful in 2s
这个提交包含在:
父节点
56e89ee029
当前提交
0dfcfd1fc9
@ -0,0 +1,54 @@
|
||||
---
|
||||
schema: "hl-changelog/v2"
|
||||
ticket: "5910"
|
||||
title: "修复改订单人数后车务复核确认无法闭环——复核confirm按全需求行判定满派并重新盖章"
|
||||
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 实测闭环通过。改订单人数换版打回待派车后,车务核对沿用原车/司机,对派车点「确认执行」复核即可:复核时按整个需求判定满派并重新盖章(归属→当前需求)发 finalPlan,订单正确回到「配车完成」。此前复核后订单永久卡「处理中」的死锁已解除。"
|
||||
updated_at: "2026-08-12"
|
||||
base: "dev-v3"
|
||||
---
|
||||
|
||||
# 修复:改订单人数后车务复核确认无法闭环——复核confirm按全需求行判定满派并重新盖章(#5910)
|
||||
|
||||
> **服务**: hl-fleet-service
|
||||
> **PR**: #5911(已合并 dev-v3 并部署测试服)
|
||||
> **日期**: 2026-08-12
|
||||
> **背景**: 承接 #5851(换版即作废定稿)+#5899(守卫防自动重新盖章)。改订单人数换版打回待派车后,车务复核 confirm 无法把订单推回「配车完成」。
|
||||
|
||||
## 修复内容(对前端透明,无接口契约变化)
|
||||
|
||||
**根因**:`AssignmentService.revalidateAssignedAfterBaselineChange`(复核 confirm 走的分支)两处叠加:
|
||||
|
||||
1. 用**单组行** `isRequirementFinalizedTopologyRows(groupRows,...)` 对**整个需求**拓扑,多车订单单组行数 ≠ 槽位×日期,必 false → 永不发 finalPlan。
|
||||
2. 复核 confirm 全程不调 `markDispatchPlanFinalized` 重新盖章,`plan_finalized_requirement_id` 永留旧需求 → #5899 守卫 `hasStaleFinalizedPlanRows` 永命中 → 即便拓扑齐全也不发 finalPlan。
|
||||
|
||||
旁证死锁:`batchCreate` 重新提交原方案被 605014 拒、`change` 改派被 605029 强制真换车/司机,车务「确认沿用原方案」无出口。
|
||||
|
||||
**修复**:复核 confirm 改用**需求下全部行** `isRequirementFullyAssignedRows` 判满派(内部已含陈旧定稿降级 + 载客量校验,部分派单/缺车/容量不足返回 false,防 #5824 误标 DONE),满派时**先 `markDispatchPlanGeneration` 重新盖章(归属→当前需求)再发 finalPlan**。车务逐组复核,最后一组复核完即闭环,订单回「配车完成」,车/司机沿用原方案不用换。
|
||||
|
||||
## 行为变化
|
||||
|
||||
| 场景 | 旧 | 新 |
|
||||
|---|---|---|
|
||||
| 多车订单改人数后复核 confirm | ❌ 永久卡「处理中」,不盖章不发 finalPlan,无 API 可救 | ✅ 复核即整需求重新盖章发 finalPlan,订单回「配车完成」 |
|
||||
| 部分派单/缺车/容量不足复核 | ✅ 不盖章不发 finalPlan | ✅ 不变(防 #5824 误标 DONE) |
|
||||
| 单车订单改人数后复核 | ❌ 同样卡死 | ✅ 正常闭环 |
|
||||
|
||||
## 验证证据(测试服 API 实测,订单 2086270141158346754,2 组多车)
|
||||
|
||||
换版作废后(两组 `assigned` + `finalized=0` + `generation=NULL` + 归属旧 v3,需求 PROCESSING,订单「配车 处理中」):
|
||||
|
||||
- 车务对第一组复核 confirm → 触发**整需求重新盖章**:两组 `dispatch_plan_finalized=1`、新 `generation=345816481176621056`、归属全部 → 当前 v4
|
||||
- 发 finalPlan:订单「配车」`PROCESSING 处理中` → `DONE 已完成`,需求 `PROCESSING` → `DONE`
|
||||
- 车务看板:`dispatchPlanGeneration=345816481176621056` 一致、两组「已派车」、执行全确认
|
||||
|
||||
单测:新增多车满派重新盖章+发finalPlan、部分派单不盖章不发finalPlan(防 #5824 回归)、单车回归 3 例;调整容量不足/行程中换版 2 例断言。AssignmentServiceTest 480 + ArchTest 13 + spotless 全绿,反向验证有效。前端无改动,无需联调。
|
||||
正在加载...
x
在新工单中引用
屏蔽一个用户