This commit is contained in:
2026-08-14 17:38:06 +08:00
parent d1b4a4d3f3
commit 010204da57
12 changed files with 259 additions and 33 deletions
@@ -8,6 +8,7 @@ import {
downloadWeightImage,
downloadWeightThumbnail,
getWeightOcrRawText,
getWeightPalletOptions,
getWeightWorkspace,
normalizeWeightConfidence,
retryWeightRecognition,
@@ -81,12 +82,24 @@ describe('inbound weight OCR API', () => {
)
})
it('loads same-warehouse pallet snapshots through Firstleg', async () => {
const options = [{ palletId: '11', palletCode: 'TP-11', palletType: '木托盘', capacityCbm: 1.2, tareWeightKg: 12 }]
vi.mocked(http.get).mockResolvedValue({ code: '200', message: 'success', data: options })
await expect(getWeightPalletOptions('10001', '20001')).resolves.toEqual(options)
expect(http.get).toHaveBeenCalledWith(
'/platform/v1/first-leg/inbounds/20001/weight-pallet-options',
{ params: { tenantId: '10001' } },
)
})
it('registers, corrects, and confirms a weight result using the implemented contracts', async () => {
vi.mocked(http.post).mockResolvedValue({ code: '200', message: 'success', data: { id: '1' } })
vi.mocked(http.put).mockResolvedValue({ code: '200', message: 'success', data: { id: '1', version: 1 } })
const createPayload = {
fileId: '9007199254740995',
palletId: '11',
ocrProvider: 'FILE_WEIGHT_OCR',
ocrRawText: null,
ocrWeightValue: 12.5,
@@ -5,6 +5,7 @@ import type {
CorrectWeightResultRequest,
CreateWeightResultRequest,
WeightImageUploadResult,
WeightPalletOption,
WeightResultResource,
WeightWorkspaceResource,
} from '../types'
@@ -59,6 +60,14 @@ export async function getWeightWorkspace(tenantId: string, inboundId: string) {
return unwrapApiResponse(response)
}
export async function getWeightPalletOptions(tenantId: string, inboundId: string) {
const response = await http.get<ApiEnvelope<WeightPalletOption[]>, ApiEnvelope<WeightPalletOption[]>>(
`${measurementBasePath}/${segment(inboundId)}/weight-pallet-options`,
{ params: { tenantId } },
)
return unwrapApiResponse(response)
}
export async function uploadWeightImage(tenantId: string, inboundId: string, file: File) {
const body = new FormData()
body.append('file', file)