hl-api-changelog/changelogs-v2/2026-08/18_6052_整程行改期换版stale详情回拨成待派车-修改接口-管理后台.md

5.5 KiB

schema, ticket, title, consumer, author, change_type, backend_status, gateway_status, frontend_status, frontend_owner, frontend_ref, target_release, verified_at, status_note, updated_at, base, generated
schema ticket title consumer author change_type backend_status gateway_status frontend_status frontend_owner frontend_ref target_release verified_at status_note updated_at base generated
hl-changelog/v2 6052 整程行改期换版 stale 详情回拨成待派车(详情 activeAssignments/vehicleSlots 补 stale 覆写) admin wx 修改接口 deployed verified pending mmg 2026-08-18 后端完成PR #6053 已合并 dev-v3a433bfb7fa并部署 TESThl-fleet-service jar 21:07、双实例 21:08 重启)。根因=C详情组装路径activeAssignments/vehicleSlots不经 stale 覆写——#6014 只修了列表卡片,详情未覆盖;本单给详情两组装点补 stale 覆写(逐日/全程同判据。board 域 238 全绿 + ArchTest 13 + spotless。网关实测复现单详情 activeAssignments/vehicleSlots 回拨 unassigned。 2026-08-18 dev-v3 2026-08-18T21:15:00+08:00

整程行改期换版 stale 详情回拨成待派车(#6052

背景

#6014 修了「改期换版后纯改期残留回拨成待派车」,但只覆盖了看板列表卡片GET /admin/fleet/board/ordersassignmentStatus)。订单详情接口GET /admin/fleet/board/orders/{orderId})的 activeAssignments / vehicleSlots另一条组装路径,没走 stale 覆写——整程行全程槽,service_date=NULL改期换版后,详情接口仍显示「已派车assigned」,与列表卡片/订单侧「待配」分叉。

根因

详情组装(activeAssignments / vehicleSlots)只用落库状态走状态派生,没有应用「陈旧定稿stale覆写」;stale 覆写此前只存在于列表卡片与早筛。逐日切片行与整程行在详情路径共用同一断点。

变更接口

接口 变更
GET /admin/fleet/board/orders/{orderId}activeAssignments[] 行为变更。该需求存在陈旧定稿(plan_finalized_requirement_id ≠ 当前需求 ID且可进配车流程时,assignmentStatus 由落库态回拨为「待派车unassigned」;baseAssignmentStatus 保留落库态(如 assignedavailableActionCodesASSIGN
GET /admin/fleet/board/orders/{orderId}vehicleSlots[] 行为变更。同上口径,slotStatus 回拨 unassigned;rescheduleResidue 徽标、canDelete(取消/改派入口)保留

行为口径

  • 状态回拨:详情 activeAssignments[].assignmentStatus / vehicleSlots[].slotStatus 在「陈旧定稿 + 可进配车流程」时回拨成待派车,与列表卡片、订单侧对齐。
  • 落库不改:回拨只改读侧派生,baseAssignmentStatus 保留落库态;旧派车不自动清除(残留徽标 rescheduleResidue、取消/改派入口 canDelete 全保留,由车务手动清理)。
  • 缺口不虚高列表缺口进度纯改期残留分流unassigned=0未动。
  • 当代定稿不误伤plan_finalized_requirement_id = 当前需求 ID 时保持 assigned 不回拨。
  • V2 新槽机制#5810 槽位人工制——平移行保持人工现状不自动补槽,车务取消旧行后按新日期重派(同逐日切片机制)。

响应示例

GET /admin/fleet/board/orders/{orderId}data.activeAssignments[](修复后,整程行 stale 场景):

{
  "assignmentId": null,
  "serviceDate": null,
  "assignmentStatus": "unassigned",
  "baseAssignmentStatus": "assigned",
  "rescheduleResidue": true,
  "canDelete": true,
  "availableActionCodes": ["ASSIGN", "REJECT_REQUIREMENT"]
}
字段 类型 说明
assignmentStatus String 回拨后状态:陈旧定稿可进配车流程时 = unassigned(待派车)
baseAssignmentStatus String 落库真实状态(如 assigned),不受回拨影响
rescheduleResidue Boolean 是否改期残留旧日期行true 挂「改期残留/待清理」徽标)
canDelete Boolean 是否可删除/取消(残留行恒 true,车务手动清理入口
availableActionCodes String[] 可执行动作(回拨成待派车后含 ASSIGN

vehicleSlots[] 同口径:slotStatus 回拨 unassigned,rescheduleResidue / canDelete 保留。

前端动作

  • 详情页 activeAssignments / vehicleSlots 直接消费 assignmentStatus / slotStatus(已是回拨后状态),baseAssignmentStatus 可用于显示落库真实态。
  • 残留行 rescheduleResidue=true 时挂「改期残留」徽标,canDelete=true 时保留取消/改派入口。
  • 列表卡片(#6014行为不变。

验证证据

  • 单测BoardOrderServiceTest +2整程行 stale 回拨 unassigned + baseAssignmentStatus=assigned + 车辆信息保留;当代定稿保持 assigned 防误伤;board 域 238 全绿 + ArchTest 13 + spotless。
  • 部署PR #6053 squash 合并 dev-v3merge commit a433bfb7fa,Deploy Panel task c87ac963 successjar 21:07、双实例 21:08 重启)。
  • 网关实测TEST复现单 2089664548595240962(改期 V1→V2,整程行 plan_finalized_requirement_id=V1→ 详情 activeAssignments[0].assignmentStatus=unassigned(待派车)、baseAssignmentStatus=assignedvehicleSlots[0].slotStatus=unassignedrescheduleResidue=truecanDelete=true

关联 / 联系人