hl-api-changelog/changelogs-v2/2026-08/18_6022_一键清空需求回待派车与逐日车费按天拆分-修改接口-管理后台.md
API Changelog Bot 2ee06034ef
所有检测均成功
changelog-filename-gate / validate (push) Successful in 2s
docs(changelog): #6052 新增 + #6022 补 target_release(解门禁)
2026-08-18 21:20:01 +08:00

92 行
5.2 KiB
Markdown

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

---
schema: "hl-changelog/v2"
ticket: "6022"
title: "一键清空槽位后需求回待派车可重派 + 逐日车费按天拆分"
consumer: "admin"
author: "wx"
change_type: "修改接口"
backend_status: "deployed"
gateway_status: "verified"
frontend_status: "verified"
frontend_owner: "mmg"
frontend_ref: "c157cde4"
target_release: "2026-08-18"
verified_at: "2026-08-18"
status_note: "后端完成PR #6029 已合并 dev-v3bf80a6f2ac并部署 TESThl-fleet-service jar 15:29 更新、双实例重启。bug1 看板状态派生识别「槽位清空需求」回待派车;bug2 逐日 vehicle_fee_total 按天拆分 + Flyway V20260818_001 回填存量。测试随 PR 自证。"
updated_at: "2026-08-18"
base: "dev-v3"
generated: "2026-08-18T15:40:00+08:00"
---
# 一键清空槽位后需求回待派车可重派 + 逐日车费按天拆分(#6022
## 背景
两个 fleet 车务 bug
- **bug1**:车务派单看板对改期/重配的订单点「一键清空已派车辆槽位」后,整个用车需求被误判成「已取消」,从看板消失、无法重新派车。弹窗本意是「清空后请按新需求重新派车」,但需求消失导致车务失去重派入口。
- **bug2**:确认执行页「逐日车费」只显示 1 天、最终总车费只算 1 天——每条逐日派车行的 `vehicle_fee_total` 被写成了整槽总价(平铺到每一天),而非该天单日价。
## 变更接口
| 接口 | 变更 |
| --- | --- |
| `GET /admin/fleet/board/orders`(看板列表/各 status 分面) | **行为变更**。新增识别「槽位清空需求」:需求下全部行 canceled 且取消来源**非**订单真取消(非 `order_cancelled`)时,记录级覆写回「待派车」(可见、可重派),不再误判「已取消」。已取消 tab 仍只显示订单真取消(#5923 口径零回归) |
| 确认执行页「逐日车费」数据源 | **行为变更**。逐日派车行 `vehicle_fee_total` 落该天**单日协议价**(不再平铺整槽总价),逐日车费显示全部天数、最终总车费=各天单日价之和 |
## 行为口径
- **bug1**:清空=清掉派车占用让重派,不等于把需求作废。清空后需求回「待派车」、被清行的车/司机占用正确释放、订单状态不受影响;stale 陈旧定稿场景同样回待派车。
- **bug2**:核单一致性校验改为 **Σ(求和)口径**——逐日费累加 = 总车费;存量写错的逐日行由 **Flyway `V20260818_001`** 回填为单日价(仅影响展示/司机端总费,核单快照独立落库不受影响)。
## 响应示例逐日车费,bug2
确认执行页「逐日车费」接口返回里,**逐日单元格数组**的每个元素 = 一天的派车明细(字段名见下,前端按字段名取)。关键是 **`protocolPrice`(当天派车价/协议价)现在=该天单日价**,不再是整槽总价平铺:
```json
{
"slotId": "2089597158683455490",
"serviceDate": "2026-08-24",
"assignmentId": "2089595940254986242",
"used": "USED",
"readOnly": false,
"vehicleId": "2085539421276286978",
"driverId": "2067084362829979650",
"rescheduleResidue": false,
"canDelete": true,
"vehiclePlate": "蒙A-E2E99",
"driverName": "王信",
"protocolPrice": "1000.00"
}
```
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `slotId` | Long(字符串) | 稳定槽位 ID当天逐日切片 |
| `serviceDate` | Date | 服务日期(逐日) |
| `assignmentId` | Long(字符串) | 当天逐日派车行 ID取消/改派按此 ID |
| `used` | String | `USED`=实际用车 / `UNUSED`=显式不用车 / `null`=未编辑 |
| `readOnly` / `canDelete` | Boolean | 该 cell 只读 / 可删除(取消)标记 |
| `vehicleId` / `driverId` | Long(字符串) | 当天车辆/司机 ID未派为 null |
| `rescheduleResidue` | Boolean | 是否改期残留旧日期行true 挂「改期残留/待清理」徽标) |
| `vehiclePlate` / `driverName` | String | 当天车牌/司机明文(行冻结快照,未派为 null |
| **`protocolPrice`** | BigDecimal(字符串) | **当天派车价**`= 该天单日协议价`chargeable=0→0;缺协议价回退日历参考价,再无则 0。**改动前=整槽总价平铺到每天,改动后=当天单日价** |
**前端渲染要点**:逐日车费把每一行 `serviceDate``protocolPrice` 全部列出3 天=3 行),最终总车费 = 各行 `protocolPrice` 之和(Σ 口径),不要再取单一行或按 `vehicle_fee_total` 旧值。
## 前端动作
- 看板「待派车」分面会正确出现被一键清空的需求,可点入重派;「已取消」分面不再混入清空需求。
- 确认执行页逐日车费正常显示全部行程天数与正确合计。
## 验证证据
- 单测随 PR 自证(一键清空回待派车 + 已取消 tab 口径零回归;逐日费按天拆分 + Σ 校验 + Flyway 回填)。
- PR #6029 squash 合并 dev-v3merge commit bf80a6f2ac,Deploy Panel 部署 hl-fleet-servicejar 15:29 更新、双实例重启生效)。
## 关联 / 联系人
- Issuehttps://git.1814.love:8443/wx/HL/issues/6022
- PRhttps://git.1814.love:8443/wx/HL/pulls/6029
- Commitmergehttps://git.1814.love:8443/wx/HL/commit/bf80a6f2ac
- 后端负责人wx