fix phase3 acceptance roots and payable validation
This commit is contained in:
@@ -90,22 +90,26 @@ export function selectCustomsFlow(createdResources) {
|
||||
async function ensureReleasedOceanBooking(context, container) {
|
||||
const containerBookingId = id(container?.containerBookingId)
|
||||
const loadingPlanId = id(container?.loadingPlanId)
|
||||
let ocean = context.createdResources?.oceanBooking
|
||||
if (ocean?.finalStatus !== 'RELEASED'
|
||||
|| id(ocean?.containerBookingId) !== containerBookingId
|
||||
|| id(ocean?.loadingPlanId) !== loadingPlanId) {
|
||||
const oceanBookings = await import(new URL('./ocean-bookings.mjs', import.meta.url))
|
||||
await oceanBookings.run(context)
|
||||
ocean = context.createdResources?.oceanBooking
|
||||
}
|
||||
if (ocean?.finalStatus !== 'RELEASED'
|
||||
|| id(ocean?.containerBookingId) !== containerBookingId
|
||||
|| id(ocean?.loadingPlanId) !== loadingPlanId) {
|
||||
const oceanBookingId = id(container?.oceanBookingId)
|
||||
if (!oceanBookingId) {
|
||||
context.addStep(MODULE, '报关前订舱已放舱并绑定实际装柜柜次', null, false,
|
||||
`oceanStatus=${ocean?.finalStatus || 'missing'}, oceanContainer=${id(ocean?.containerBookingId) || 'missing'}, containerBookingId=${containerBookingId || 'missing'}`, OPTIONS)
|
||||
`oceanBookingId=missing, containerBookingId=${containerBookingId || 'missing'}`, OPTIONS)
|
||||
return false
|
||||
}
|
||||
|
||||
const response = await context.request('GET', `/api/platform/v1/ocean-bookings/${encodeURIComponent(oceanBookingId)}`)
|
||||
const detail = context.apiSuccess(MODULE, '报关前回读装柜链正式订舱', response, '', OPTIONS)
|
||||
const allocated = detail?.containers?.some?.((item) => id(item?.containerBookingId) === containerBookingId)
|
||||
if (detail?.oceanBooking?.status !== 'RELEASED' || !allocated) {
|
||||
context.addStep(MODULE, '报关前订舱已放舱并绑定实际装柜柜次', response, false,
|
||||
`oceanStatus=${detail?.oceanBooking?.status || 'missing'}, oceanBookingId=${oceanBookingId}, containerBookingId=${containerBookingId || 'missing'}, allocated=${allocated === true}`, OPTIONS)
|
||||
return false
|
||||
}
|
||||
context.createdResources.oceanBooking = {
|
||||
id: oceanBookingId, marker: context.marker, finalStatus: 'RELEASED',
|
||||
containerBookingId, loadingPlanId,
|
||||
}
|
||||
context.addStep(MODULE, '报关前订舱已放舱并绑定实际装柜柜次', response, true,
|
||||
`oceanBookingId=${oceanBookingId}, containerBookingId=${containerBookingId}`, OPTIONS)
|
||||
return true
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user