changelog(v2): #5788 换版保留派单可改派+vehicleSlots 标旧字段(PR #5796)
一些检查失败了
changelog-filename-gate / validate (push) Failing after 1s
一些检查失败了
changelog-filename-gate / validate (push) Failing after 1s
这个提交包含在:
父节点
a133aa7a50
当前提交
ff7e119073
@ -0,0 +1,74 @@
|
||||
---
|
||||
schema: "hl-changelog/v2"
|
||||
ticket: "5788"
|
||||
title: "换版保留派单可改派:候选排除放行 superseded 行 + vehicleSlots 新增标旧字段"
|
||||
consumer: "admin"
|
||||
author: "wx(GIT)"
|
||||
change_type: "修改接口"
|
||||
backend_status: "deployed"
|
||||
gateway_status: "not_required"
|
||||
frontend_status: "pending"
|
||||
frontend_owner: "mmg"
|
||||
frontend_ref: ""
|
||||
target_release: ""
|
||||
verified_at: "2026-08-10"
|
||||
status_note: "后端已部署测试服并按 26-9313 实测通过。前端需消费 vehicleSlots 新增 superseded 标识渲染「旧数据」样式,并放开保留行的改派入口(候选请求可不传 fleetItemIndex)。"
|
||||
updated_at: "2026-08-10"
|
||||
base: "dev-v3"
|
||||
---
|
||||
|
||||
# 车务: 需求换版保留派单可改派 + 槽位视图标旧(#5788)
|
||||
|
||||
> **服务**: hl-fleet-service (8087/8187)
|
||||
> **PR**: #5796
|
||||
> **Issue**: #5788
|
||||
> **日期**: 2026-08-10
|
||||
> **影响范围**: 派单看板订单详情 vehicleSlots 结构(新增 3 字段)、派单候选查询排除校验语义
|
||||
> **背景**: #5784 换版保留行此前点「重新配置车辆」必报「参数非法: 排除派单不属于当前订单、当前用车需求或当前车型项」(26-9313 实测),改派通路被拦死;且槽位视图无法区分新旧行。
|
||||
|
||||
---
|
||||
|
||||
## 1. 详情接口 vehicleSlots 新增 3 字段
|
||||
|
||||
`GET /admin/fleet/board/orders/{orderId}` 的 `vehicleSlots[]` 每行新增:
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| `requirementId` | string(Long) | 槽位行所属用车需求ID;与顶层 requirementId 不等且 superseded=true 时为换版保留的旧需求行 |
|
||||
| `superseded` | boolean | **是否换版保留的旧派单行**。true=旧数据,仅供人工核对后改派/取消,不参与当前方案日格进度与车费计数 |
|
||||
| `supersededByRequirementId` | string(Long) | 取代该行的新需求ID;superseded=true 时非空 |
|
||||
|
||||
**排序约定**: 当前需求槽位行在前(顺序不变),换版保留行追加在尾部。保留行固定 `canDelete=false`,`deleteBlockReason="需求已改版保留行,请改派或取消,不支持直接删除槽位"`。
|
||||
|
||||
**前端要做**: 保留行渲染「旧数据/需求已改版」标识(区别于当前槽位),操作只留「改派 / 取消」;顶部黄条(supersededAssignments)保持现状作提醒入口。注意保留行的 `fleetItemIndex` 是旧版展开序,可能与当前需求槽位撞号,**渲染分组请以 superseded 标志区分,勿再单靠 fleetItemIndex**。
|
||||
|
||||
## 2. 候选查询排除校验放宽(保留行改派入口打通)
|
||||
|
||||
`POST /admin/fleet/assignments/candidates`:
|
||||
|
||||
- `excludeAssignmentId` 现在允许两类:①当前需求本身的派单(原口径,仍须 requirementId+fleetItemIndex 精确匹配);②**换版保留派单**(supersededByRequirementId 非空,属当前订单即可)。
|
||||
- **排除保留行时 `fleetItemIndex` 可不传**(旧版序号在新需求下无语义,后端不再校验);座位匹配自动锚保留行自身座位快照(requiredSeats),不再按新需求车型项定位。
|
||||
- 保留行自身占用会被正确排除:实测 exclude 后原车 available=true、conflicts=[](可改回原车或换车)。
|
||||
- 防护不回归:非本订单/不存在的 assignmentId、普通行 fleetItemIndex 不匹配 → 仍报「参数非法」。
|
||||
|
||||
## 3. 实测数据样例(测试服 26-9313)
|
||||
|
||||
```json
|
||||
// vehicleSlots 尾部保留行
|
||||
{"fleetItemIndex":1, "requiredVehicleType":"mpv", "slotStatus":"assigned",
|
||||
"vehiclePlate":"蒙A-S6666", "superseded":true,
|
||||
"requirementId":"2086270153913225218",
|
||||
"supersededByRequirementId":"2086700635972915201",
|
||||
"canDelete":false, "deleteBlockReason":"需求已改版保留行,请改派或取消,不支持直接删除槽位"}
|
||||
```
|
||||
|
||||
## 关联 / 联系人
|
||||
|
||||
### 链接
|
||||
|
||||
- **相关工单**: [#5788](https://git.1814.love:8443/wx/HL/issues/5788)、[#5784](https://git.1814.love:8443/wx/HL/issues/5784)(换版保留规则)
|
||||
|
||||
### 联系人
|
||||
|
||||
- **后端负责人**: @wx
|
||||
- **前端负责人**: @mmg
|
||||
正在加载...
x
在新工单中引用
屏蔽一个用户