# 【修改接口·管理后台】车务矩阵派单补齐统计与订单字段 > **Issue**: [wx/HL#4751](https://git.1814.love:8443/wx/HL/issues/4751) > **PR**: [wx/HL#4752](https://git.1814.love:8443/wx/HL/pulls/4752) > **服务**: hl-fleet-service > **日期**: 2026-07-05 > **影响范围**: 管理后台车务管理 / 矩阵派单 `/fleet/matrix` --- ## 1. 关键变化 - `GET /admin/fleet/matrix/grid` 新增 `statusCounts` 与 `unassignedWindowCount`,直接支撑页面顶部「全部/未派/已派」和「打开未派订单窗口」数量。 - `grid / unassigned-orders / day-orders` 均新增: - `orderNumericId`:订单数值 ID,雪花 ID 字符串序列化,打开订单详情/后续操作请用它。 - `orderNo`:订单号展示字段。 - `startDate` / `endDate`:原始服务日期,不受月内裁剪影响。 - 兼容说明:原字段 `orderId` **保持旧语义不变**,仍是订单号字符串,不要当数值订单 ID 使用。 --- ## 2. 变更接口 | # | 接口 | 方法 | 路径 | 变更类型 | 说明 | |---|------|------|------|----------|------| | 1 | 矩阵主数据 | GET | `/admin/fleet/matrix/grid` | 响应新增字段 | 新增顶部统计;assignment 新增订单数值 ID、订单号、原始日期 | | 2 | 未派订单清单 | GET | `/admin/fleet/matrix/unassigned-orders` | 响应新增字段 | 新增订单数值 ID、订单号、原始日期 | | 3 | 当天订单清单 | GET | `/admin/fleet/matrix/day-orders` | 响应新增字段 | 新增订单数值 ID、订单号、原始日期 | --- ## 3. `GET /admin/fleet/matrix/grid` 响应 VO:`MatrixGridRespVO` ### 3.1 顶层新增字段 | 字段 | 类型 | 说明 | |------|------|------| | `statusCounts` | object | 当前 `year/month/fleets/typeKeys/season` 过滤口径下的状态统计;`status` tab 本身不参与统计裁剪 | | `unassignedWindowCount` | number | 未派订单窗口数量,去重订单数;一单多车多未派行只计 1 单 | `statusCounts` 字段: | 字段 | 类型 | 说明 | |------|------|------| | `totalAssignments` | number | 有效派单行数合计,`unassignedAssignments + assignedAssignments` | | `unassignedAssignments` | number | 未派派单行数,`assignment_status=unassigned` | | `assignedAssignments` | number | 已派派单行数,`assignment_status=holding/assigned` | | `totalOrders` | number | 去重订单数合计,`unassignedOrders + assignedOrders` | | `unassignedOrders` | number | 含至少一个未派项的去重订单数;部分已派订单也计入 | | `partialOrders` | number | 既有已派项也有未派项的去重订单数,是 `unassignedOrders` 的子集 | | `assignedOrders` | number | 全部派单项均已派的去重订单数 | 建议页面取数口径: | 页面位置 | 建议字段 | |----------|----------| | tab「全部/未派/已派」如按甘特条/派单行计数 | `totalAssignments / unassignedAssignments / assignedAssignments` | | 顶部订单去重统计 | `totalOrders / unassignedOrders / assignedOrders`,如需展示部分已派可读取 `partialOrders` | | 「打开未派订单窗口 · N」 | `unassignedWindowCount` | ### 3.2 `vehicles[].assignments[]` 新增字段 | 字段 | 类型 | 说明 | |------|------|------| | `orderNumericId` | string | 订单数值 ID,雪花 ID 字符串序列化 | | `orderNo` | string | 订单号,展示用 | | `startDate` | string | 原始服务开始日期,格式 `YYYY-MM-DD` | | `endDate` | string | 原始服务结束日期,格式 `YYYY-MM-DD` | 响应片段: ```json { "statusCounts": { "totalAssignments": 21, "unassignedAssignments": 10, "assignedAssignments": 11, "totalOrders": 16, "unassignedOrders": 5, "partialOrders": 2, "assignedOrders": 11 }, "unassignedWindowCount": 5, "vehicles": [ { "id": "100", "assignments": [ { "id": "9001", "orderId": "26-0501", "orderNumericId": "2049000000000000001", "orderNo": "26-0501", "startDay": 1, "endDay": 6, "startDate": "2026-05-01", "endDate": "2026-05-06" } ] } ] } ``` --- ## 4. `GET /admin/fleet/matrix/unassigned-orders` 响应 VO:`List` 新增字段: | 字段 | 类型 | 说明 | |------|------|------| | `orderNumericId` | string | 订单数值 ID,雪花 ID 字符串序列化 | | `orderNo` | string | 订单号,展示用 | | `startDate` | string | 原始服务开始日期,格式 `YYYY-MM-DD` | | `endDate` | string | 原始服务结束日期,格式 `YYYY-MM-DD` | 响应片段: ```json { "orderId": "26-0503", "orderNumericId": "2049000000000000003", "orderNo": "26-0503", "assignmentId": "9003", "startDay": 6, "endDay": 11, "startDate": "2026-05-06", "endDate": "2026-05-11", "assignmentStatus": "unassigned_urgent" } ``` --- ## 5. `GET /admin/fleet/matrix/day-orders` 响应 VO:`List` 新增字段: | 字段 | 类型 | 说明 | |------|------|------| | `orderNumericId` | string | 订单数值 ID,雪花 ID 字符串序列化 | | `orderNo` | string | 订单号,展示用 | | `startDate` | string | 原始服务开始日期,格式 `YYYY-MM-DD` | | `endDate` | string | 原始服务结束日期,格式 `YYYY-MM-DD` | 响应片段: ```json { "orderId": "26-0501", "orderNumericId": "2049000000000000001", "orderNo": "26-0501", "startDate": "2026-05-01", "endDate": "2026-05-06", "dayInTrip": 4, "totalDays": 6, "orderAssignStatus": "partial", "assignments": [] } ``` --- ## 6. 验证状态 - `mvn -pl hl-fleet-service -am -Dtest=MatrixServiceTest -DfailIfNoTests=false test`:通过,`MatrixServiceTest` 14 个用例全绿。 - `mvn -pl hl-fleet-service spotless:check`:通过。 - `mvn -pl hl-fleet-service -am -DfailIfNoTests=false test`:未全绿,失败集中在既有 Redis lock 相关集成测试: - `DriverCrudIntegrationTest` - `DriverPendingReviewIntegrationTest` - `H5OnboardIntegrationTest` - `VehicleCrudIntegrationTest` 这些失败点不经过矩阵派单接口代码路径。