fix overseas PDA producer fixture selection
This commit is contained in:
@@ -11,7 +11,7 @@ export function buildPendingActions(task) {
|
||||
async function request(context, method, path, body, headers = {}) {
|
||||
try {
|
||||
const response = await fetch(`${context.options.gateway}${path}`, { method,
|
||||
headers: { Accept: 'application/json', Authorization: `Bearer ${context.pdaToken && /\/pda-loading\/tasks\/\d+/.test(path) ? context.pdaToken : context.token}`,
|
||||
headers: { Accept: 'application/json', Authorization: `Bearer ${context.pdaToken && /\/pda-loading\/tasks\/(?:\d+|pending)(?:[/?]|$)/.test(path) ? context.pdaToken : context.token}`,
|
||||
...(body === undefined ? {} : { 'Content-Type': 'application/json; charset=utf-8' }), ...headers },
|
||||
body: body === undefined ? undefined : JSON.stringify(body), signal: AbortSignal.timeout(60_000) })
|
||||
const raw = await response.text(); let payload = null
|
||||
@@ -55,25 +55,8 @@ export async function run(context) {
|
||||
const pendingResponse = await request(context, 'GET',
|
||||
`/api/platform/v1/first-leg/pda-loading/tasks/pending?warehouseId=${encodeURIComponent(warehouseId)}&keyword=${encodeURIComponent(containerNo)}`)
|
||||
const pendingTasks = context.apiSuccess(MODULE, '读取当前操作员 PDA pending 列表', pendingResponse, '', OPTIONS)
|
||||
const pendingRecords = Array.isArray(pendingTasks) ? pendingTasks
|
||||
: pendingTasks?.records || pendingTasks?.items || []
|
||||
let pendingTask = pendingRecords.find((item) => id(item?.taskId || item?.id) === taskId)
|
||||
if (!pendingTask) {
|
||||
const currentKeyword = id(taskDetail?.currentContainerNo)
|
||||
const currentPendingResponse = currentKeyword ? await request(context, 'GET',
|
||||
`/api/platform/v1/first-leg/pda-loading/tasks/pending?warehouseId=${encodeURIComponent(warehouseId)}&keyword=${encodeURIComponent(currentKeyword)}`) : null
|
||||
const currentPending = currentPendingResponse
|
||||
? context.apiSuccess(MODULE, '按任务当前真实柜号回查 PDA pending 列表', currentPendingResponse, '', OPTIONS) : []
|
||||
const currentRecords = Array.isArray(currentPending) ? currentPending : currentPending?.records || currentPending?.items || []
|
||||
pendingTask = currentRecords.find((item) => id(item?.taskId || item?.id) === taskId)
|
||||
}
|
||||
if (!pendingTask) {
|
||||
const broadPendingResponse = await request(context, 'GET',
|
||||
`/api/platform/v1/first-leg/pda-loading/tasks/pending?warehouseId=${encodeURIComponent(warehouseId)}`)
|
||||
const broadPending = context.apiSuccess(MODULE, '无关键词回查当前操作员 PDA pending 列表', broadPendingResponse, '', OPTIONS)
|
||||
const broadRecords = Array.isArray(broadPending) ? broadPending : broadPending?.records || broadPending?.items || []
|
||||
pendingTask = broadRecords.find((item) => id(item?.taskId || item?.id) === taskId)
|
||||
}
|
||||
const pendingTask = Array.isArray(pendingTasks)
|
||||
? pendingTasks.find((item) => id(item?.taskId) === taskId) : null
|
||||
const unresolvedItems = (taskDetail?.items || []).filter((item) =>
|
||||
['PENDING', 'PICKING'].includes(item?.itemStatus))
|
||||
context.assert(MODULE, 'pending 与 detail 使用同一 workflowStatus 和未完成数量事实', pendingResponse,
|
||||
|
||||
Reference in New Issue
Block a user