优化
This commit is contained in:
@@ -66,7 +66,7 @@ async function prepareInbound(context, label) {
|
||||
await measurement.run(context)
|
||||
const measured = context.createdResources.inboundMeasurement
|
||||
const order = context.createdResources.orders
|
||||
if (!measured?.inboundId || !measured?.tenantId) throw new Error(`${label} 未生成独立 INBOUNDED 入库单`)
|
||||
if (!measured?.inboundId || !measured?.tenantId) throw new Error(`${label} 未生成独立 WAIT_SPLIT 入库单`)
|
||||
return { marker: fixtureMarker, tenantId: id(measured.tenantId), inboundId: id(measured.inboundId),
|
||||
orderId: id(order?.orderId) }
|
||||
} finally {
|
||||
@@ -88,29 +88,13 @@ async function readInbound(context, fixture) {
|
||||
const value = context.apiSuccess(MODULE, '读取人工装柜独立入库单', response, '', OPTIONS)
|
||||
const warehouseId = id(value?.summary?.warehouseId)
|
||||
context.assert(MODULE, '人工装柜来源入库单可独立排柜', response,
|
||||
value?.summary?.processStatus === 'INBOUNDED' && value?.summary?.measureReviewStatus === 'APPROVED'
|
||||
['WAIT_SPLIT', 'INBOUNDED'].includes(value?.summary?.processStatus)
|
||||
&& value?.summary?.measureReviewStatus === 'APPROVED'
|
||||
&& Boolean(warehouseId),
|
||||
`inboundId=${fixture.inboundId}, status=${value?.summary?.processStatus || 'missing'}`, OPTIONS)
|
||||
return { ...fixture, detail: value, warehouseId }
|
||||
}
|
||||
|
||||
async function createWaitingContainer(context, warehouseId, label) {
|
||||
const value = suffix(context, label)
|
||||
const response = await context.request('POST', CONTAINERS, {
|
||||
containerNo: null, cabinetNo: `MAN-CAB-${value}`, warehouseId, warehouseName: '人工验收仓',
|
||||
billOfLadingNo: null, vesselName: null, voyageNo: null, containerType: '40HQ',
|
||||
shippingCompanyId: null, shippingCompanyName: null, departurePortCode: 'CNSZX',
|
||||
departurePortName: '深圳', destinationPortCode: 'USLAX', destinationPortName: '洛杉矶',
|
||||
destinationWarehouseCode: null, destinationWarehouseName: null, capacityCbm: 68,
|
||||
maxWeightKg: 28000, terminalTruckingCompany: null, loadingAt: null,
|
||||
estimatedSailingAt: null, actualSailingAt: null, estimatedPortArrivalAt: null,
|
||||
actualPortArrivalAt: null, estimatedWarehouseArrivalAt: null, actualWarehouseArrivalAt: null,
|
||||
})
|
||||
const container = context.apiSuccess(MODULE, `创建 ${label} 货柜`, response, '', OPTIONS)
|
||||
if (!container?.id) throw new Error(`${label} 货柜创建失败`)
|
||||
return container
|
||||
}
|
||||
|
||||
async function createConfirmedContainer(context, source, label) {
|
||||
const value = suffix(context, label)
|
||||
const summary = source.detail.summary
|
||||
@@ -195,7 +179,7 @@ async function pickAll(context, chain, label) {
|
||||
const snapshot = context.apiSuccess(MODULE, `${label} 获取 PDA 库存快照`, snapshotResponse, '', OPTIONS)
|
||||
const response = await post(context, `${PDA}/tasks/${chain.task.id}/batch`, {
|
||||
warehouseId: chain.source.warehouseId, loadingPlanId: id(chain.task.loadingPlanId),
|
||||
containerBookingId: chain.containerId, containerNo: chain.task.currentContainerNo || null,
|
||||
containerBookingId: chain.containerId,
|
||||
expectedVersion: Number(chain.task.version), inventorySnapshotToken: snapshot.snapshotToken,
|
||||
items: chain.task.items.map((item) => ({ itemId: id(item.id), action: 'PICK',
|
||||
pickedPackageCount: Number(item.plannedPackageCount), finalPickedPackageCount: null,
|
||||
@@ -317,10 +301,10 @@ export async function run(context, matrix = context.createdResources.manualState
|
||||
requiredActions: ['customsDeclaration'], fixtures: {}, actions: {} }
|
||||
matrix.pages.pdaTasks = { requiredStatuses: PDA_STATUSES, fixtures: {} }
|
||||
|
||||
const warehouseId = '193000000000200001'
|
||||
const waiting = await createWaitingContainer(context, warehouseId, 'WAIT')
|
||||
matrix.pages.containerLoading.fixtures.WAIT_LOADING = fixture(waiting.id, 'WAIT_LOADING',
|
||||
`/container-loading?containerId=${id(waiting.id)}`)
|
||||
const waitingSource = await readInbound(context, await prepareInbound(context, 'WAIT'))
|
||||
const waitingContainerId = await createConfirmedContainer(context, waitingSource, 'WAIT')
|
||||
matrix.pages.containerLoading.fixtures.WAIT_LOADING = fixture(waitingContainerId, 'WAIT_LOADING',
|
||||
`/container-loading?containerId=${waitingContainerId}`)
|
||||
|
||||
const editing = await createPlanTask(context, 'EDIT')
|
||||
const inProgress = await claim(context, await createPlanTask(context, 'PROGRESS'), 'PROGRESS')
|
||||
|
||||
Reference in New Issue
Block a user