优化
This commit is contained in:
@@ -133,9 +133,18 @@ function routes(context, merchantToken) {
|
||||
}
|
||||
|
||||
export async function prepare(context) {
|
||||
const outerMarker = context.marker
|
||||
const restore = await context.preparePhase3LoadingFixture('-CUSTOMS-MIXED', false, {
|
||||
primary: 'BUY_DECLARATION', incremental: 'TAX_REFUND',
|
||||
})
|
||||
const executionMarker = `${outerMarker}-CUSTOMS-MIXED`
|
||||
context.marker = executionMarker
|
||||
if (context.createdResources?.orchestrationFixtures?.phase3Loading) {
|
||||
context.createdResources.orchestrationFixtures.phase3Loading.marker = executionMarker
|
||||
}
|
||||
if (context.createdResources?.orchestrationFixtures?.phase3LoadingIncremental) {
|
||||
context.createdResources.orchestrationFixtures.phase3LoadingIncremental.marker = executionMarker
|
||||
}
|
||||
const loading = await import('./phase3-loading.mjs')
|
||||
await context.executeModule(`${MODULE}-loading`, () => loading.run(context))
|
||||
const finalize = await import('./phase3-loading-finalize.mjs')
|
||||
@@ -143,6 +152,7 @@ export async function prepare(context) {
|
||||
|
||||
const source = context.createdResources?.phase3Loading
|
||||
if (!source?.loadingPlanId || !source?.containerBookingId || source?.finalStatus !== 'LOADED') {
|
||||
context.marker = outerMarker
|
||||
restore()
|
||||
throw new Error(`混合柜未进入LOADED: planId=${id(source?.loadingPlanId) || 'missing'}, status=${source?.finalStatus || 'missing'}`)
|
||||
}
|
||||
@@ -157,6 +167,7 @@ export async function prepare(context) {
|
||||
buy.length > 0 && refund.length > 0 && inbounds.every((item) => /^\d{16,}$/.test(id(item.inboundId))),
|
||||
`buy=${buy.length}, tax=${refund.length}, inbounds=${inbounds.length}`, OPTIONS)
|
||||
if (!buy.length || !refund.length) {
|
||||
context.marker = outerMarker
|
||||
restore()
|
||||
throw new Error(`正式装柜API未形成混合柜: buy=${buy.length}, tax=${refund.length}`)
|
||||
}
|
||||
@@ -178,10 +189,11 @@ export async function prepare(context) {
|
||||
const buyInboundIds = new Set(buy.map((item) => id(item.inboundId)))
|
||||
const planBuyRows = planItems.filter((item) => buyInboundIds.has(id(item.inboundId))).length
|
||||
const expectedBuyRows = planBuyRows > 0 ? planBuyRows : buy.length
|
||||
context.marker = outerMarker
|
||||
context.createdResources.phase3ContainerCustomsFixtures = {
|
||||
marker: context.marker, requestedKinds: ['MIXED'],
|
||||
marker: outerMarker, requestedKinds: ['MIXED'],
|
||||
containers: [{
|
||||
kind: 'MIXED', marker: context.marker, status: 'LOADED', autoDispatchMode: 'IMMEDIATE',
|
||||
kind: 'MIXED', marker: outerMarker, status: 'LOADED', autoDispatchMode: 'IMMEDIATE',
|
||||
loadingPlanId: id(source.loadingPlanId), containerBookingId: id(source.containerBookingId),
|
||||
oceanBookingId: id(source.oceanBookingId), containerNo: source.containerNo,
|
||||
inbounds: inbounds.map((item) => ({
|
||||
@@ -194,6 +206,7 @@ export async function prepare(context) {
|
||||
context.context.phase3ContainerCustomsRoutes = routes(context, merchantToken)
|
||||
return () => {
|
||||
delete context.context.phase3ContainerCustomsRoutes
|
||||
context.marker = outerMarker
|
||||
restore()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user