优化
This commit is contained in:
@@ -348,16 +348,23 @@ export async function run(context) {
|
||||
// PICKED_UP; the immutable carrier history therefore contains the eight
|
||||
// pre-pickup nodes plus EMPTY_RETURNED.
|
||||
const carrierNodesWithoutInferredPickup = STANDARD_NODES.filter((node) => node !== 'PICKED_UP')
|
||||
context.assert(MODULE, '拖车业务回写后覆盖十标准实际节点且EMPTY_RETURNED停止', detailResponse,
|
||||
carrierNodesWithoutInferredPickup.every((node) => actualNodes.has(node)) && finalTask.status === 'STOPPED'
|
||||
&& finalTask.latestActualNode === 'EMPTY_RETURNED' && finalTask.stopReason === '已还柜'
|
||||
context.assert(MODULE, '拖车业务回写后覆盖十标准实际节点', detailResponse,
|
||||
carrierNodesWithoutInferredPickup.every((node) => actualNodes.has(node)),
|
||||
`actualNodes=${[...actualNodes].join(',')}, missing=${carrierNodesWithoutInferredPickup.filter((node) => !actualNodes.has(node)).join(',')}`,
|
||||
OPTIONS)
|
||||
context.assert(MODULE, '还柜终态停止语义与本轮货柜关联', detailResponse,
|
||||
finalTask.status === 'STOPPED' && finalTask.latestActualNode === 'EMPTY_RETURNED'
|
||||
&& finalTask.stopReason === '已还柜'
|
||||
&& id(finalTask.containerBookingId) === id(drayage.containerBookingId),
|
||||
`actualNodes=${[...actualNodes].join(',')}, status=${finalTask.status}`, OPTIONS)
|
||||
`status=${finalTask.status}, latest=${finalTask.latestActualNode || 'none'}, `
|
||||
+ `stopReason=${finalTask.stopReason || 'none'}, taskBooking=${id(finalTask.containerBookingId)}, `
|
||||
+ `drayageBooking=${id(drayage.containerBookingId)}`, OPTIONS)
|
||||
|
||||
const historyResponse = await context.request('GET', `${BASE}/${queryId}/history`)
|
||||
const history = context.apiSuccess(MODULE, '查询本轮任务不可变历史', historyResponse, `queryId=${queryId}`, OPTIONS)
|
||||
context.assert(MODULE, '历史包含码头拖车回写节点且结构完整', historyResponse,
|
||||
Array.isArray(history) && history.every(validHistory)
|
||||
&& history.filter((item) => item.action === 'MANUAL_NODE').length >= STANDARD_NODES.length - 1,
|
||||
// 首个标准节点由国内出仓自动写入,PICKED_UP 由码头拖车业务回写,人工补录最多 8 条。
|
||||
&& history.filter((item) => item.action === 'MANUAL_NODE').length >= STANDARD_NODES.length - 2,
|
||||
`history=${Array.isArray(history) ? history.length : 'missing'}`, OPTIONS)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user