feat(appointments): support scoped receiving and stable trip continuation

This commit is contained in:
2026-10-16 15:43:04 +08:00
parent 4e2ea89403
commit 30f48bd926
84 changed files with 4879 additions and 136 deletions
@@ -3048,6 +3048,7 @@ components:
properties: { reason: { type: string, minLength: 1, maxLength: 1000 } }
DispatchResponse:
type: object
required: [appointmentBatches]
properties:
id: { type: string }
dispatchNo: { type: string }
@@ -3060,6 +3061,10 @@ components:
overseasWarehouseId: { type: string }
overseasWarehouseName: { type: string }
departAt: { type: string, format: date-time, nullable: true }
appointmentBatches:
type: array
description: 当前排车分配中的全部原批次、客户及来源引用;无预约分配时为空,不通过旧预约号推导
items: { $ref: '#/components/schemas/DispatchBatchReference' }
fbaAppointmentNo: { type: string, nullable: true }
fbaAppointmentStatus: { type: string }
vehicleAppointmentStatus: { type: string }
@@ -3082,6 +3087,21 @@ components:
type: array
description: 仅详情接口返回的BOL打印聚合行;分页接口返回空数组,避免列表查询放大
items: { $ref: '#/components/schemas/DispatchBolLine' }
DispatchBatchSource:
type: object
required: [sourceKey, destinationKey, packageCount]
properties:
sourceKey: { type: string }
destinationKey: { type: string }
packageCount: { type: integer, minimum: 1 }
DispatchBatchReference:
type: object
required: [batchKey, batchNo, customerId, sources]
properties:
batchKey: { type: string, description: 原分配持久化的稳定批次键 }
batchNo: { type: string, nullable: true, description: 原批次业务号;缺失不以内码代替 }
customerId: { type: string }
sources: { type: array, items: { $ref: '#/components/schemas/DispatchBatchSource' } }
DispatchWorkflow:
type: object
required: [tripNo, dispatchReview, loadingReview]