This commit is contained in:
2026-09-20 20:40:21 +08:00
parent 088c219c20
commit 2213647db4
4 changed files with 55 additions and 4 deletions
@@ -254,6 +254,20 @@ function previewGroupsSorted(groups) {
async function convertContainerPlans(context, producer, details) {
const bookingId = id(producer.containerBookingId)
const arrival = await api(context, 'POST', '按柜转换前读取预计到仓时间',
`${ORDERS}/container-arrival-times/query`, { sourceContainerBookingIds: [bookingId] })
const currentArrival = Array.isArray(arrival.data)
? arrival.data.find(row => id(row.sourceContainerBookingId) === bookingId) : null
if (!success(arrival.response) || !currentArrival || !Number.isInteger(Number(currentArrival.version))) return null
if (!nonBlank(currentArrival.estimatedWarehouseArrivalAt)) {
const expected = await api(context, 'PUT', '按柜转换前补齐预计到仓时间',
`${ORDERS}/container-summaries/${encodeURIComponent(bookingId)}/expected-arrival`, {
estimatedWarehouseArrivalAt: new Date(Date.now() + 2 * 86400000).toISOString().slice(0, 19),
expectedVersion: Number(currentArrival.version), remark: `${context.marker}-container-plan-arrival`,
}, { 'Idempotency-Key': `${context.marker}-container-plan-arrival`.slice(0, 128) })
if (!success(expected.response) || id(expected.data?.sourceContainerBookingId) !== bookingId
|| !nonBlank(expected.data?.estimatedWarehouseArrivalAt)) return null
}
const previewPath = query(`${PLANS}/container-preview`, { sourceContainerBookingId: bookingId })
const preview = await api(context, 'GET', '预览整柜待生成入仓计划清单', previewPath)
const groups = Array.isArray(preview.data?.groups) ? preview.data.groups : []