优化
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
export const CONTAINER_CONVERT_ENDPOINT = '/api/platform/v1/last-leg/inbound-plans/convert'
|
||||
export const CONTAINER_SUMMARY_ENDPOINT = '/api/platform/v1/last-leg/orders/container-summaries'
|
||||
export const CONTAINER_CONVERT_ENDPOINT = '/api/platform/v1/last-leg/inbound-plans/convert-container'
|
||||
export const CONTAINER_CONVERT_EXPECTED_ORDERS = 15
|
||||
|
||||
export function groupOrdersByCustomer(orders) {
|
||||
@@ -13,7 +14,7 @@ export function groupOrdersByCustomer(orders) {
|
||||
}
|
||||
|
||||
export function validContainerBatchResult(result, sourceOrders) {
|
||||
const plans = Array.isArray(result?.plans) ? result.plans : []
|
||||
const plans = Array.isArray(result) ? result : []
|
||||
if (!Array.isArray(sourceOrders) || !sourceOrders.length || plans.length !== sourceOrders.length) return false
|
||||
const sourceIds = new Set(sourceOrders.map((order) => String(order.orderId)))
|
||||
const resultIds = plans.flatMap((plan) => Array.isArray(plan?.lines) ? plan.lines : [])
|
||||
@@ -32,15 +33,14 @@ export function validContainerBatchResult(result, sourceOrders) {
|
||||
})
|
||||
}
|
||||
|
||||
export function validOrderFact(actual, expected) {
|
||||
const exact = (field) => (actual?.[field] ?? null) === (expected?.[field] ?? null)
|
||||
return ['packageCount', 'volumeCbm', 'productQuantity', 'volumeWeightKg',
|
||||
'palletCount', 'estimatedArrivalAt', 'actualArrivalAt', 'estimatedWarehouseAt'].every(exact)
|
||||
}
|
||||
|
||||
export function distinctPhysicalPalletCount(rows) {
|
||||
if (!Array.isArray(rows)) return 0
|
||||
return new Set(rows.map((row) => String(row?.physicalPalletId ?? '').trim()).filter(Boolean)).size
|
||||
export function validContainerSummaryPage(data, expected) {
|
||||
if (!Array.isArray(data?.records)) return false
|
||||
const row = data.records.find((item) => String(item?.sourceContainerBookingId ?? '')
|
||||
=== String(expected?.sourceContainerBookingId ?? ''))
|
||||
return Number(data.page) >= 1 && Number(data.size) >= 1 && Number(data.total) >= 1
|
||||
&& Number(data.pages) >= 1 && String(row?.containerNo ?? '') === String(expected?.containerNo ?? '')
|
||||
&& Number(row?.orderCount) === Number(expected?.orderCount)
|
||||
&& Number(row?.inboundCodeCount) === Number(expected?.inboundCodeCount)
|
||||
}
|
||||
|
||||
export function zeroDrift(before, after) {
|
||||
@@ -50,9 +50,3 @@ export function zeroDrift(before, after) {
|
||||
export function stableReplay(first, replay) {
|
||||
return zeroDrift(first, replay)
|
||||
}
|
||||
|
||||
export function validPdaCandidate(candidate, expected) {
|
||||
return String(candidate?.containerNo ?? '') === String(expected?.containerNo ?? '')
|
||||
&& Number(candidate?.planCount) === Number(expected?.planCount)
|
||||
&& Number(candidate?.inboundCodeCount) === Number(expected?.inboundCodeCount)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user