优化
This commit is contained in:
@@ -4,6 +4,7 @@ import process from 'node:process'
|
||||
|
||||
const MODULE = 'inbound-weight-ocr'
|
||||
const SCENARIO = 'weight-image-recognition-and-confirmation'
|
||||
export const WEIGHT_PALLET_OPTIONS_PAGE_SIZE = 50
|
||||
const DEFAULT_IMAGE = 'C:/Users/BY-OY/Desktop/上传图片包/测量图片/测量图片/orig_1cf27695-b2c3-44b3-98e3-c0be8b80f79a.JPG'
|
||||
const EDITABLE_STATUSES = new Set(['WAIT_MEASURE', 'MEASURING', 'MEASURE_REJECTED'])
|
||||
const OCR_STATUSES = new Set(['RECOGNIZED', 'FAILED'])
|
||||
@@ -202,8 +203,24 @@ function deletePath(tenantId, inboundId, resultId, version) {
|
||||
return `${resultPath(inboundId, resultId)}?tenantId=${encodeURIComponent(tenantId)}&version=${version}`
|
||||
}
|
||||
|
||||
function palletOptionsPath(tenantId, inboundId) {
|
||||
return `/api/platform/v1/first-leg/inbounds/${encodeURIComponent(inboundId)}/weight-pallet-options?tenantId=${encodeURIComponent(tenantId)}`
|
||||
export function palletOptionsPath(tenantId, inboundId, keyword = '') {
|
||||
const params = new URLSearchParams({
|
||||
tenantId: id(tenantId),
|
||||
page: '1',
|
||||
size: String(WEIGHT_PALLET_OPTIONS_PAGE_SIZE),
|
||||
})
|
||||
const normalizedKeyword = String(keyword || '').trim()
|
||||
if (normalizedKeyword) params.set('keyword', normalizedKeyword)
|
||||
return `/api/platform/v1/first-leg/inbounds/${encodeURIComponent(inboundId)}/weight-pallet-options?${params.toString()}`
|
||||
}
|
||||
|
||||
export function weightPalletOptionRecords(page) {
|
||||
if (!page || Array.isArray(page) || !Array.isArray(page.records)) return null
|
||||
if (!Number.isInteger(Number(page.page)) || Number(page.page) < 1) return null
|
||||
if (!Number.isInteger(Number(page.size)) || Number(page.size) < 1
|
||||
|| Number(page.size) > WEIGHT_PALLET_OPTIONS_PAGE_SIZE) return null
|
||||
if (page.records.length > Number(page.size)) return null
|
||||
return page.records
|
||||
}
|
||||
|
||||
async function createUploadedResult(context, target, pallet, image, overrides = {}) {
|
||||
@@ -382,13 +399,14 @@ export async function run(context) {
|
||||
const palletOptionsResponse = await context.request(
|
||||
'GET', palletOptionsPath(target.tenantId, target.inboundId),
|
||||
)
|
||||
const palletOptions = context.apiSuccess(MODULE, '读取同仓称重托盘候选', palletOptionsResponse,
|
||||
const palletOptionsPage = context.apiSuccess(MODULE, '分页读取同仓称重托盘候选', palletOptionsResponse,
|
||||
`inboundId=${target.inboundId}`, NEW_CONTRACT_OPTIONS)
|
||||
const palletOptions = weightPalletOptionRecords(palletOptionsPage)
|
||||
const palletOptionsComplete = Array.isArray(palletOptions) && palletOptions.length > 0
|
||||
&& palletOptions.every(palletSnapshotComplete)
|
||||
context.assert(MODULE, '托盘候选包含稳定快照字段且无需状态或占用资格', palletOptionsResponse,
|
||||
context.assert(MODULE, '托盘候选分页受控且包含稳定快照字段', palletOptionsResponse,
|
||||
palletOptionsComplete,
|
||||
`count=${Array.isArray(palletOptions) ? palletOptions.length : 'invalid'}, fields=palletId/palletCode/palletType/capacityCbm/tareWeightKg`,
|
||||
`page=${palletOptionsPage?.page ?? 'missing'}, size=${palletOptionsPage?.size ?? 'missing'}, count=${Array.isArray(palletOptions) ? palletOptions.length : 'invalid'}, maxSize=${WEIGHT_PALLET_OPTIONS_PAGE_SIZE}, fields=palletId/palletCode/palletType/capacityCbm/tareWeightKg`,
|
||||
NEW_CONTRACT_OPTIONS)
|
||||
const pallet = palletOptionsComplete ? selectWeightPallet(palletOptions) : null
|
||||
if (!pallet) {
|
||||
|
||||
Reference in New Issue
Block a user