5.1 KiB
5.1 KiB
author, schema, ticket, title, consumer, change_type, backend_status, gateway_status, frontend_status, frontend_owner, frontend_ref, target_release, verified_at, status_note, updated_at, base
| author | schema | ticket | title | consumer | change_type | backend_status | gateway_status | frontend_status | frontend_owner | frontend_ref | target_release | verified_at | status_note | updated_at | base |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| wx(GIT) | hl-changelog/v2 | 5479 | 看板列表同槽位跨段换车 assignmentSlots 按派车组拆分 | admin | 修改接口 | deployed | verified | implemented | pi-main-session | hl-admin@e0c5f4f75087107fd0d82fbdc104c76d732292dc | 2026-08-04 | 看板列表 assignmentSlots 修复:同槽位跨段换车(同 slot 多 assignment_group_id)时由仅返回首段改为按派车组返回多段(每段含各自区间/车辆/司机/司机手机号);slotSummary 各段区间合计覆盖全槽;单段槽位行为不变。前端若按单条槽位渲染需适配多段展示。 | 2026-08-04 | dev-v3 |
【修改接口·管理后台】看板列表同槽位跨段换车 assignmentSlots 按派车组拆分 (#5479)
PR: #5484 | 服务: fleet | 更新时间: 2026-08-04
1. 接口背景
车务看板列表(GET /admin/fleet/board/orders)的 assignmentSlots[] 原实现按稳定槽位(assignment_slot_id)聚合,同槽位跨段换车(同一槽位内前后两段使用不同车辆/司机,如 7 天行程前 3 天蒙A-H7777/阿拉坦 + 后 4 天蒙A-T1557/朝鲁门)时后段被折叠,列表只显示首段车辆/司机,与 matrix/grid 分段结果不一致。本次修复为按派车组(assignment_group_id)拆分,每段独立返回。
变更接口清单
| # | 接口名 | 方法 | 路径 | 变更类型 | 说明 |
|---|---|---|---|---|---|
| 1 | 车务看板列表 | GET | /admin/fleet/board/orders |
修改 | assignmentSlots[] 同槽跨段换车时由 1 条变为多段(每段独立 assignmentId/assignmentGroupId/区间/车辆/司机) |
2. 行为变化
| 场景 | 原来 | 现在 |
|---|---|---|
| 同槽位跨段换车(同 slot 多 group,如 08-10 |
assignmentSlots 仅 1 条(首段车辆/司机,区间覆盖全槽 7 天) |
按派车组返回 2 段:段1 slotSummary 08-10assignmentGroupId/assignmentId) |
| 单段槽位(同一槽位单派车组,绝大多数) | 1 条 | 1 条(不变) |
| canceled 历史段 | 不展示(整槽全 canceled 时展示 canceled 视图) | 不独立成段(整槽全 canceled 时行为不变) |
| 槽位区间覆盖 | 单条区间=全槽 | 各段区间合计覆盖全槽(不因拆分缩短) |
3. 接口详情
- 方法/路径:
GET /admin/fleet/board/orders?teamNo=&page=&pageSize= - 响应:
records[].assignmentSlots[]现可为多条(同槽跨段);每条结构不变(assignmentId/assignmentGroupId/assignmentSlotId/slotSummary{assignmentSlotId, slotIndex, totalSlots, serviceStartDate, serviceEndDate, serviceDays, requiredVehicleType, ...}/vehiclePlate/vehicleModel/driverName/driverPhone(掩码)/assignmentStatus等),其中slotSummary.serviceStartDate/serviceEndDate/serviceDays为该段自身区间;slotIndex/totalSlots为槽位维度(跨段时同一槽位多条共享相同 slotIndex/totalSlots) - 不变:顶层 record 仍按 requirementId 聚合一条,代表槽位取排序首条;分页/筛选/排序不变
4. 前端需要做什么
看板列表若按 assignmentSlots 渲染车辆/司机卡片:需支持同一槽位(相同 assignmentSlotId/slotIndex)多条段卡片(展示各自区间、车牌、司机);跨段换车场景现可正确展示后段,勿再按首条截断。单段槽位展示无变化。slotSummary.serviceStartDate/serviceEndDate/serviceDays 为段区间(多段合计为全槽)。
5. 后端测试、部署与验证
- 单元测试:新增同槽跨段换车拆分用例(H7777/阿拉坦 3 天 + T1557/朝鲁门 4 天 → 2 段各自区间/车辆/司机正确);更新同槽多组状态冲突、最终不用车混合、全最终不用车 3 个既有用例为按段拆分语义;AssignmentServiceTest 360 + Board* 107 用例全通过。
- 模块验证:
mvn -pl hl-fleet-service -am verify3078 用例 0 失败(Testcontainers 集成测试本机无 Docker 环境失败,基线同失败非本次引入)。 - 部署:TEST hl-fleet-service rolling 完成(task_id=1226b3fd,双实例 UP)。
- 验证(TEST 2026-08-04):订单 2081633366993494017(teamNo=26-2830)
assignmentSlots由修复前 1 条(仅 H7777/阿拉坦)变为 2 段:08-1012 蒙A-H7777/丰田汉兰达/阿拉坦/135****5019 + 08-1316 蒙A-T1557/丰田普拉多/朝鲁门/199****1557(均 assigned);DB fleet_assignment 7 行 2 组(340035264187600896/340023199221813248)与两段一一对应;单段槽位回归(26-1427 订单 3 槽位各 1 条)正常。
关联 / 联系人
链接
- Issue: #5479
- PR: #5484
- Merge commit: 631ebb259858
联系人
- 后端负责人: @wx