This commit is contained in:
2026-08-28 13:54:44 +08:00
parent 67a1278554
commit 251645d2d8
8 changed files with 394 additions and 69 deletions
@@ -155,7 +155,7 @@ export interface ConvertInboundPlanPayload {
customerId: string
}
export interface PendingContainerSummaryQuery {
export interface ContainerPlanProgressQuery {
page: number
size: number
containerNo?: string
@@ -163,17 +163,36 @@ export interface PendingContainerSummaryQuery {
createdTo?: string
}
export interface PendingContainerSummaryDto {
export interface ContainerPlanProgressSummaryDto {
sourceContainerBookingId: string
containerNo: string | null
orderCount: number
totalOrderCount: number
inboundCodeCount: number
customerCount: number
totalPackageCount: number
totalPalletCount: number
totalVolumeCbm: number
eligible: boolean
ineligibleReason?: string | null
missingInboundCodeCount: number
planCount: number
plannedInboundCodeCount: number
pendingPlanCount: number
plannedArrivalAt: string | null
allPlansReady: boolean
blockingReason: string | null
}
export interface ContainerPlanProgressItemDto {
orderId: string
customerId: string
orderNo: string | null
inboundCode: string | null
orderStatus: string
planId: string | null
planNo: string | null
planStatus: string | null
planValid: boolean
plannedArrivalAt: string | null
}
export interface ContainerPlanProgressDetailDto {
summary: ContainerPlanProgressSummaryDto
orders: ContainerPlanProgressItemDto[]
}
export interface ConvertContainerInboundPlanPayload {
@@ -224,14 +243,21 @@ export async function convertLastMileOrderToInboundPlan(payload: ConvertInboundP
return unwrapApiResponse(response)
}
export async function listPendingContainerSummaries(query: PendingContainerSummaryQuery): Promise<OverseasPageResult<PendingContainerSummaryDto>> {
const response = await overseasHttp.get<ApiEnvelope<OverseasPagePayload<PendingContainerSummaryDto>>, ApiEnvelope<OverseasPagePayload<PendingContainerSummaryDto>>>(
export async function listContainerPlanProgress(query: ContainerPlanProgressQuery): Promise<OverseasPageResult<ContainerPlanProgressSummaryDto>> {
const response = await overseasHttp.get<ApiEnvelope<OverseasPagePayload<ContainerPlanProgressSummaryDto>>, ApiEnvelope<OverseasPagePayload<ContainerPlanProgressSummaryDto>>>(
'/platform/v1/last-leg/orders/container-summaries',
{ params: query },
)
return normalizeOverseasPage(unwrapApiResponse(response))
}
export async function getContainerPlanProgress(sourceContainerBookingId: string) {
const response = await overseasHttp.get<ApiEnvelope<ContainerPlanProgressDetailDto>, ApiEnvelope<ContainerPlanProgressDetailDto>>(
`/platform/v1/last-leg/orders/container-summaries/${encodeURIComponent(sourceContainerBookingId)}`,
)
return unwrapApiResponse(response)
}
export async function convertLastMileContainerToInboundPlans(payload: ConvertContainerInboundPlanPayload) {
const response = await overseasHttp.post<ApiEnvelope<InboundPlanDetailDto[]>, ApiEnvelope<InboundPlanDetailDto[]>>(
'/platform/v1/last-leg/inbound-plans/convert-container', payload,